Método IGraphBuilder::AddSourceFilter (strmif.h)
[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 AddSourceFilter
método adiciona um filtro de origem para um arquivo especificado ao grafo de filtro.
Sintaxe
HRESULT AddSourceFilter(
[in] LPCWSTR lpcwstrFileName,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
Parâmetros
[in] lpcwstrFileName
Especifica o nome do arquivo a ser carregado.
[in] lpcwstrFilterName
Especifica um nome para o filtro de origem.
[out] ppFilter
Recebe um ponteiro para a interface IBaseFilter do filtro. O chamador deve liberar a interface.
Retornar valor
Retorna um HRESULT. Os possíveis valores incluem os seguintes.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
O filtro de origem não dá suporte à interface IFileSourceFilter . |
|
Memória insuficiente. |
|
Argumento de ponteiro NULL. |
|
Não foi possível carregar o filtro de origem para esse arquivo. |
|
Arquivo ou objeto não encontrado. |
|
O tipo de mídia desse arquivo não foi reconhecido. |
Comentários
Esse método pesquisa um filtro instalado que pode ler o arquivo especificado. Se encontrar um, o método o adicionará ao grafo de filtro e retornará um ponteiro para a interface IBaseFilter do filtro. Para determinar o tipo de mídia e o esquema de compactação do arquivo, o Gerenciador de Grafo de Filtro lê os primeiros bytes do arquivo, procurando padrões específicos de bytes, conforme documentado no artigo Registrando um tipo de arquivo personalizado.
O aplicativo é responsável por criar o restante do grafo de filtro. Para fazer isso, chame IBaseFilter::EnumPins para enumerar os pinos de saída no filtro de origem. Em seguida, use o método IGraphBuilder::Connect ou o método IGraphBuilder::Render .
Se o método for bem-sucedido, a interface IBaseFilter terá uma contagem de referência pendente. O chamador deve liberar a interface.
Para renderizar um arquivo para reprodução padrão, use o método IGraphBuilder::RenderFile .
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
Requisito | Valor |
---|---|
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 |