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 |
---|---|
|
Il pin è già sbloccato. |
|
Operazione completata. |
|
Il pin è già bloccato in un altro 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 |