Método ICaptureGraphBuilder2::FindInterface (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 FindInterface
método pesquisa no grafo uma interface especificada, começando por um filtro especificado. Você pode restringir a pesquisa a uma seção do grafo upstream ou downstream do filtro ou restringi-la a uma determinada categoria de pino ou tipo de mídia.
Sintaxe
HRESULT FindInterface(
[in] const GUID *pCategory,
[in] const GUID *pType,
[in] IBaseFilter *pf,
[in] REFIID riid,
[out] void **ppint
);
Parâmetros
[in] pCategory
Um ponteiro para um GUID que especifica os critérios de pesquisa. Confira Comentários para obter mais informações. Os seguintes valores são possíveis:
- &LOOK_UPSTREAM_ONLY.
- &LOOK_DOWNSTREAM_ONLY.
- Uma das categorias de pino listadas no Conjunto de Propriedades do Pin.
- NULL
[in] pType
Ponteiro para um GUID que especifica o tipo de mídia principal de um pino de saída ou NULL.
[in] pf
Ponteiro para a interface IBaseFilter do filtro. O método começa a pesquisar a partir desse filtro.
[in] riid
IID (identificador de interface) da interface a ser localizada.
[out] ppint
Endereço de uma variável que recebe o ponteiro da interface. Certifique-se de liberar o ponteiro da interface recuperada quando terminar de usar a interface .
Retornar valor
Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
Falha. |
|
Não há suporte para essa interface. |
|
Argumento de ponteiro NULL. |
Comentários
Em um grafo de captura, vários filtros e pinos podem expor interfaces para definir propriedades, como parâmetros de compactação (IAMVideoCompression) ou formatos de fluxo (IAMStreamConfig). Dependendo do dispositivo de captura, outras interfaces úteis podem incluir IAMCrossbar, que roteia sinais analógicos, ou IAMTVTuner, que controla um dispositivo de sintonizador de TV. Você pode usar esse método para encontrar uma interface, sem escrever um código especial que percorra o grafo.
- O filtro
- Os pinos do filtro
- Todos os filtros downstream, incluindo seus pinos
- Todos os filtros upstream, incluindo seus pinos
- Se pCategory for igual a &LOOK_UPSTREAM_ONLY, a pesquisa começará a partir dos pinos de entrada do filtro e continuará upstream. Ele não inclui o filtro nem nada downstream do filtro. O parâmetro pType é ignorado.
- Se pCategory for igual a &LOOK_DOWNSTREAM_ONLY, a pesquisa começará a partir dos pinos de saída do filtro e continuará downstream. Ele não inclui o filtro nem nada upstream do filtro. O parâmetro pType é ignorado.
- Se pCategory especificar uma categoria de pino, a parte downstream da pesquisa será restrita a pinos de saída no filtro que correspondem à categoria de pino e ao tipo de mídia fornecido no parâmetro pType . Nesse caso, o método também pesquisa o filtro e tudo upstream do filtro.
As categorias de pin são úteis para localizar interfaces de pino em filtros de captura. Por exemplo, um filtro de captura pode ter pinos separados para captura e visualização. Se você especificar uma categoria de pino, também deverá especificar o tipo de mídia, para garantir que o método selecione o filtro e o pino corretos.
Alguns filtros de captura de vídeo têm um pino de porta de vídeo (PIN_CATEGORY_VIDEOPORT) em vez de um pin de visualização. Se você especificar PIN_CATEGORY_PREVIEW e MEDIATYPE_Video, o método tratará todos os pinos de porta de vídeo como pinos de visualização. Seu aplicativo não precisa testar essa possibilidade.
Filtros de suporte. Se um dispositivo de captura usar um driver WDM (Modelo de Driver do Windows), o grafo poderá exigir determinados filtros upstream do filtro captura de vídeo do WDM, como um filtro de Sintonizador de TV ou um filtro de barra cruzada de vídeo analógico. Se o parâmetro pCategory não for igual a NULL, esse método inserirá automaticamente todos os filtros WDM necessários no grafo. Para fazer isso, ele consulta os pinos de entrada no filtro de captura para determinar quais meios eles dão suporte e os conecta a filtros correspondentes. Se o parâmetro pCategory for NULL, o método não adicionará os filtros upstream.
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 |