Método IGraphConfig::P ushThroughData (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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 PushThroughData método envia dados por push pelo grafo de filtro para o pino especificado.

Sintaxe

HRESULT PushThroughData(
  [in] IPin           *pOutputPin,
  [in] IPinConnection *pConnection,
  [in] HANDLE         hEventAbort
);

Parâmetros

[in] pOutputPin

Ponteiro para a interface IPin de um pino de saída no grafo de filtro.

[in] pConnection

Ponteiro para a interface IPinConnection de um pino de entrada no grafo de filtro. Este parâmetro pode ser NULL.

[in] hEventAbort

Identificador de um evento. Se o chamador for um filtro chamando em um de seus threads de processamento de dados, esse parâmetro deverá ser um identificador para um evento que será sinalizado quando o filtro for colocado em um estado parado. Caso contrário, esse parâmetro pode ser NULL. Para obter mais informações, consulte Comentários.

Retornar valor

Retorna S_OK se tiver êxito. Caso contrário, retorna um código de erro que pode ser um dos valores a seguir ou outros não listados.

Código de retorno Descrição
E_OUTOFMEMORY
Falha ao alocar a memória necessária.
VFW_E_NOT_FOUND
Não foi possível encontrar um pino de entrada candidato.
VFW_E_STATE_CHANGED
Estado de filtro alterado durante a operação.

Comentários

Esse método envia por push todos os dados pendentes, de um pino de saída especificado para baixo para um pino de entrada especificado. Opcionalmente, você pode deixar o pino de entrada não especificado e permitir que o método pesquise o grafo de filtro para o melhor candidato. Não chame esse método do thread que está enviando dados por push.

Se um filtro chamar esse método em um de seus próprios threads de processamento de dados, ele criará o potencial para um deadlock. O método obtém um bloqueio no grafo de filtro, que pode impedir que o filtro pare ao receber uma chamada para IMediaFilter::Stop. Para evitar essa situação, o método usa um identificador para um objeto de evento fornecido pelo filtro. O filtro deverá sinalizar o evento se ele receber uma chamada para seu método Stop .

Requisitos

   
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

Confira também

Códigos de erro e êxito

IGraphConfig Interface