Método IPinFlowControl::Block (strmif.h)
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O Block
método bloqueia ou desbloqueia o fluxo de dados do pino.
Sintaxe
HRESULT Block(
[in] DWORD dwBlockFlags,
[in] HANDLE hEvent
);
Parâmetros
[in] dwBlockFlags
Sinalizador que indica se o pino deve ser bloqueado ou desbloqueado. Deve ser um dos seguintes valores:
- Zero: desbloqueie o fluxo de dados do pino.
- AM_PIN_FLOW_CONTROL_BLOCK: bloquear o fluxo de dados do pino.
[in] hEvent
Manipule para um objeto de evento ou NULL. Se esse parâmetro não for NULL, o método será assíncrono e retornará imediatamente. O evento é sinalizado quando a operação é concluída. Se esse parâmetro for NULL, o método será síncrono e não será concluído até que o pino seja bloqueado. Se dwBlockFlags for zero, esse parâmetro deverá ser NULL.
Retornar valor
Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.
Código de retorno | Descrição |
---|---|
|
O pino já está desbloqueado. |
|
Êxito. |
|
O pino já está bloqueado em outro thread. |
|
O pin já está bloqueado no thread de chamada. |
Comentários
Esse método pode ser síncrono ou assíncrono:
- Para chamá-lo de forma assíncrona, use a função CreateEvent para criar um objeto de evento. Passe o identificador de evento no parâmetro hEvent . O método retorna imediatamente e sinaliza o evento quando a operação é concluída. Chame uma função de espera, como WaitForSingleObject , para aguardar o evento.
- Para chamar esse método de forma síncrona, defina o parâmetro hEvent como NULL. O método bloqueia até que seja concluído. O método pode não ser concluído até que o pino esteja pronto para entregar uma amostra. Se o filtro estiver pausado, o método poderá bloquear indefinidamente. Portanto, você não deve chamar esse método de forma síncrona do thread de aplicativo main.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | strmif.h (inclua Dshow.h) |
Biblioteca | Strmiids.lib |