Compartilhar via


Método IFilterGraph::AddFilter (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 AddFilter método adiciona um filtro ao grafo.

Sintaxe

HRESULT AddFilter(
  [in] IBaseFilter *pFilter,
  [in] LPCWSTR     pName
);

Parâmetros

[in] pFilter

Ponteiro para a interface IBaseFilter do filtro a ser adicionado.

[in] pName

Ponteiro para uma cadeia de caracteres largos que contém um nome para filtro.

Retornar valor

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

Código de retorno Descrição
S_OK
Êxito.
VFW_S_DUPLICATE_NAME
Adicionado com êxito um filtro com um nome duplicado.
E_FAIL
Falha.
E_OUTOFMEMORY
Memória insuficiente.
E_POINTER
Argumento de ponteiro NULL.
VFW_E_CERTIFICATION_FAILURE
O uso desse filtro é restrito por uma chave de software.
VFW_E_DUPLICATE_NAME
Falha ao adicionar um filtro com um nome duplicado.

Comentários

O nome do filtro pode ser NULL; nesse caso, o Gerenciador de Grafo de Filtro gera um nome. Se o nome não for NULL e não for exclusivo, esse método modificará o nome na tentativa de gerar um novo nome exclusivo. Se for bem-sucedido, esse método retornará VFW_S_DUPLICATE_NAME. Se não puder gerar um nome exclusivo, ele retornará VFW_E_DUPLICATE_NAME.

AddFilter chama o método IBaseFilter::JoinFilterGraph do filtro para informar ao filtro que ele foi adicionado. AddFilter deve ser chamado antes de tentar usar o método IGraphBuilder::Connect, IFilterGraph::ConnectDirect ou IGraphBuilder::Render para conectar ou renderizar pinos pertencentes ao filtro adicionado.

O Gerenciador de Grafo de Filtro mantém uma contagem de referência no filtro até que o filtro seja removido do grafo ou o Gerenciador de Grafo de Filtro seja liberado.

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

Códigos de erro e êxito

IFilterGraph Interface