Compartilhar via


Método CDynamicOutputPin.Block

[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. Esse método implementa o método IPinFlowControl::Block .

Sintaxe

HRESULT Block(
   DWORD  dwBlockFlags,
   HANDLE hEvent
);

Parâmetros

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.

hEvent

Manipule para um objeto de evento ou NULL.

Retornar valor

Retorna um valor HRESULT . Os valores possíveis incluem os mostrados na tabela a seguir.

Código de retorno Descrição
S_FALSE
O pino já está desbloqueado.
S_OK
Êxito.
E_INVALIDARG
Argumento inválido.
VFW_E_PIN_ALREADY_BLOCKED
O pino já está bloqueado em outro thread.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
O pin já está bloqueado no thread de chamada.

Comentários

Para obter mais informações sobre esse método, consulte IPinFlowControl::Block. Internamente, esse método chama um dos seguintes métodos protegidos:

O desbloqueio sempre é executado de forma síncrona.

Requisitos

Requisito Valor
parâmetro
Amfilter.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CDynamicOutputPin