Metodo IPinFlowControl::Block (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il Block metodo blocca o sblocca il flusso di dati dal pin.

Sintassi

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

Parametri

[in] dwBlockFlags

Flag che indica se bloccare o sbloccare il pin. Deve essere uno dei valori seguenti:

  • Zero: sbloccare il flusso di dati dal pin.
  • AM_PIN_FLOW_CONTROL_BLOCK: blocca il flusso di dati dal pin.

[in] hEvent

Gestire in un oggetto evento o NULL. Se questo parametro non è NULL, il metodo è asincrono e restituisce immediatamente. L'evento viene segnalato al termine dell'operazione. Se questo parametro è NULL, il metodo è sincrono e non viene completato finché il pin non viene bloccato. Se dwBlockFlags è zero, questo parametro deve essere NULL.

Valore restituito

Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.

Codice restituito Descrizione
S_FALSE
Il pin è già sbloccato.
S_OK
Operazione completata.
VFW_E_PIN_ALREADY_BLOCKED
Il pin è già bloccato in un altro thread.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
Il pin è già bloccato nel thread chiamante.

Commenti

Questo metodo può essere sincrono o asincrono:

  • Per chiamarlo in modo asincrono, usare la funzione CreateEvent per creare un oggetto evento. Passare l'handle eventi nel parametro hEvent . Il metodo restituisce immediatamente e segnala l'evento al termine dell'operazione. Chiamare una funzione di attesa, ad esempio WaitForSingleObject , per attendere l'evento.
  • Per chiamare questo metodo in modo sincrono, impostare il parametro hEvent su NULL. Il metodo blocca fino al completamento. Il metodo potrebbe non essere completato fino a quando il pin non è pronto per recapitare un esempio. Se il filtro viene sospeso, il metodo potrebbe bloccare in modo indefinito. Pertanto, non è consigliabile chiamare questo metodo in modo sincrono dal thread dell'applicazione principale.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Riconnessione dinamica

Codici errore e esito positivo

Interfaccia IPinFlowControl