ISampleGrabber::SetOneShot-Methode

Hinweis

[Veraltet. Diese API kann aus zukünftigen Releases von Windows entfernt werden.]

Die SetOneShot-Methode gibt an, ob der Sample Grabber-Filter angehalten wird, nachdem der Filter ein Beispiel empfangen hat.

Syntax

HRESULT SetOneShot(
   BOOL OneShot
);

Parameter

Oneshot

Ein boolescher Wert, der angibt, ob der Sample Grabber-Filter nach dem Empfang eines Beispiels angehalten wird.

Wert Bedeutung
TRUE!
Der Beispielgrabber wird nach dem ersten Beispiel angehalten.
FALSE!
Nach dem ersten Beispiel werden mit dem Beispielgrabber weiterhin Beispiele verarbeitet. Dies ist das Standardverhalten.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S _ OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Hinweise

Verwenden Sie diese Methode, um wie folgt ein einzelnes Beispiel aus dem Stream abzurufen:

  1. Rufen Sie SetOneShot mit dem Wert TRUE auf.
  2. Verwenden Sie optional die IMediaSeeking-Schnittstelle, um nach einer Position im Stream zu suchen.
  3. Rufen Sie IMediaControl::Run auf, um das Filterdiagramm auszuführen.
  4. Rufen Sie IMediaEvent::WaitForCompletion auf, um auf das Anhalten des Graphen zu warten. Rufen Sie alternativ IMediaEvent::GetEvent auf, um Graphereignisse abzurufen, bis Sie das EC _ COMPLETE-Ereignis erhalten.

Nachdem der Beispielgrabber angehalten wurde, befindet sich das Filterdiagramm weiterhin im Ausführungszustand. Sie können das Diagramm suchen oder anhalten, um ein weiteres Beispiel zu erhalten.

Hinweis

In einer früheren Version der Dokumentation wurde angegeben, dass das Filterdiagramm beendet wird, nachdem das Beispiel empfangen wurde. Das ist nicht genau. Der Stream endet, aber das Diagramm verbleibt im Ausführungszustand.

Der Beispielgrabber implementiert den einmaligen Modus, indem IPin::EndOfStream für den Downstreamfilter aufgerufen und S _ FALSE von der IMemInputPin::Receive-Methode zurückgegeben wird.

Hinweis

Die Headerdatei Qedit.h ist mit Direct3D-Headern nach Version 7 nicht kompatibel.

Hinweis

Laden Sie zum Abrufen von Qedit.h das Microsoft Windows SDK-Update für Windows Vista und .NET Framework 3.0herunter. Qedit.h ist im Microsoft Windows SDK für Windows 7 und .NET Framework 3.5 Service Pack 1 nicht verfügbar.

Anforderungen

Anforderung Wert
Header
Qedit.h
Bibliothek
Strmiids.lib

Siehe auch

Verwenden des Beispielgrabbers

ISampleGrabber-Schnittstelle