Método IPin::BeginFlush (strmif.h)

O BeginFlush método inicia uma operação de liberação.

Os aplicativos não devem chamar esse método. Esse método é chamado por outros filtros para liberar dados do grafo.

Sintaxe

HRESULT BeginFlush();

Retornar valor

Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.

Código de retorno Descrição
S_OK
Êxito.
E_UNEXPECTED
O pino é um pino de saída.

Comentários

Chame esse método somente em pinos de entrada. Os pinos de saída retornam E_UNEXPECTED.

Em uma operação de liberação, um filtro descarta os dados que estava processando. Ele rejeita novos dados até que a liberação seja concluída. A liberação é concluída quando o pino upstream chama o método IPin::EndFlush . A liberação permite que o grafo de filtro seja mais responsivo quando os eventos alteram o fluxo de dados normal. Por exemplo, a liberação ocorre durante uma busca.

Quando BeginFlush é chamado, o filtro executa as seguintes etapas:

  1. Passa a IPin::BeginFlush chamada downstream.
  2. Define um sinalizador interno que faz com que todos os métodos de streaming de dados falhem, como IMemInputPin::Receive.
  3. Retorna de todas as chamadas bloqueadas para o método Receive .
Quando a BeginFlush notificação atinge um filtro de renderizador, o renderizador libera todos os exemplos que contém.

Depois BeginFlush de chamado, o pino rejeita todos os exemplos de upstream, com um valor retornado de S_FALSE, até que o método IPin::EndFlush seja chamado.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Fluxo de Dados no Grafo de Filtro

Códigos de erro e êxito

IPin Interface