Freigeben über


IPinFlowControl::Block-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die Block -Methode blockiert oder hebt die Blockierung des Datenflusses aus dem Pin auf.

Syntax

HRESULT Block(
  [in] DWORD  dwBlockFlags,
  [in] HANDLE hEvent
);

Parameter

[in] dwBlockFlags

Flag, das angibt, ob der Pin blockiert oder aufgehoben werden soll. Dies muss einer der folgenden Werte sein:

  • Null: Heben Sie die Blockierung des Datenflusses über den Pin auf.
  • AM_PIN_FLOW_CONTROL_BLOCK: Blockieren sie den Datenfluss vom Pin.

[in] hEvent

Behandeln Sie ein Ereignisobjekt oder NULL. Wenn dieser Parameter nicht NULL ist, ist die Methode asynchron und gibt sofort zurück. Das Ereignis wird nach Abschluss des Vorgangs signalisiert. Wenn dieser Parameter NULL ist, ist die Methode synchron und wird erst abgeschlossen, wenn der Pin blockiert ist. Wenn dwBlockFlags null ist, muss dieser Parameter NULL sein.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.

Rückgabecode Beschreibung
S_FALSE
Die Anheftung wurde bereits aufgehoben.
S_OK
Erfolg.
VFW_E_PIN_ALREADY_BLOCKED
Das Anheften ist bereits in einem anderen Thread blockiert.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
Das Anheften ist bereits für den aufrufenden Thread blockiert.

Hinweise

Diese Methode kann synchron oder asynchron sein:

  • Um es asynchron aufzurufen, verwenden Sie die CreateEvent-Funktion , um ein Ereignisobjekt zu erstellen. Übergeben Sie das Ereignishandle im hEvent-Parameter . Die Methode gibt sofort zurück und signalisiert das Ereignis, wenn der Vorgang abgeschlossen ist. Rufen Sie eine Wartefunktion wie WaitForSingleObject auf, um auf das Ereignis zu warten.
  • Um diese Methode synchron aufzurufen, legen Sie den hEvent-Parameter auf NULL fest. Die Methode blockiert, bis sie abgeschlossen ist. Die Methode wird möglicherweise erst abgeschlossen, wenn der Pin bereit ist, ein Beispiel zu liefern. Wenn der Filter angehalten wird, blockiert die Methode möglicherweise auf unbestimmte Zeit. Daher sollten Sie diese Methode nicht synchron aus Ihrem Standard Anwendungsthread aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Dynamische Wiederherstellung der Verbindung

Fehler- und Erfolgscodes

IPinFlowControl-Schnittstelle