Método CDynamicOutputPin.AsynchronousBlockOutputPin

[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 AsynchronousBlockOutputPin método bloqueia o pino. O método pode retornar antes que o pino seja bloqueado.

Sintaxe

HRESULT AsynchronousBlockOutputPin(
   HANDLE hNotifyCallerPinBlockedEvent
);

Parâmetros

hNotifyCallerPinBlockedEvent

Identificador de um evento. O evento é sinalizado quando o pino de saída é bloqueado ou se o chamador cancela a operação de bloco.

Retornar valor

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

Código de retorno Descrição
S_OK
Êxito.
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

Não chame esse método do thread de streaming.

Se nenhum thread de streaming estiver usando o pino, esse método bloqueará imediatamente o pino. Caso contrário, ele define o status de pino como "pendente" e retorna. Quando a operação de streaming é concluída, o thread de streaming chama o método CDynamicOutputPin::StopUsingOutputPin , que bloqueia o pino e sinaliza o evento hNotifyCallerPinBlockedEvent . Para cancelar um bloco pendente, chame o método CDynamicOutputPin::UnblockOutputPin .

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