Método IFilterMapper2::EnumMatchingFilters (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 EnumMatchingFilters
método enumera filtros registrados que atendem aos requisitos especificados.
Sintaxe
HRESULT EnumMatchingFilters(
[out] IEnumMoniker **ppEnum,
[in] DWORD dwFlags,
[in] BOOL bExactMatch,
[in] DWORD dwMerit,
[in] BOOL bInputNeeded,
[in] DWORD cInputTypes,
[in] const GUID *pInputTypes,
[in] const REGPINMEDIUM *pMedIn,
[in] const CLSID *pPinCategoryIn,
[in] BOOL bRender,
[in] BOOL bOutputNeeded,
[in] DWORD cOutputTypes,
[in] const GUID *pOutputTypes,
[in] const REGPINMEDIUM *pMedOut,
[in] const CLSID *pPinCategoryOut
);
Parâmetros
[out] ppEnum
Recebe um ponteiro para a interface IEnumMoniker . Use esse ponteiro de interface para recuperar monikers de filtro da enumeração. O chamador deve liberar a interface.
[in] dwFlags
Reservado, precisa ser zero.
[in] bExactMatch
Valor booliano que indica se uma correspondência exata é necessária. Confira Comentários para obter mais informações.
[in] dwMerit
Valor mínimo de mérito. A enumeração exclui filtros com um valor de mérito menor. Para obter uma lista de valores de mérito, confira Mérito. Se dwMerit for maior que MERIT_DO_NOT_USE, a enumeração também excluirá filtros cuja categoria tem um mérito menor ou igual a MERIT_DO_NOT_USE. (Consulte Categorias de Filtro.)
[in] bInputNeeded
Valor booliano que indica se o filtro deve ter um pino de entrada. Se o valor for TRUE, o filtro deverá ter pelo menos um pino de entrada.
[in] cInputTypes
Número de tipos de mídia de entrada especificados em pInputTypes.
[in] pInputTypes
Ponteiro para uma matriz de pares GUID que especificam tipos principais e subtipos para que os pinos de entrada correspondam. O tamanho da matriz é 2 * cInputTypes. A matriz pode ser NULL. Membros de matriz individuais podem ser GUID_NULL, que corresponde a qualquer tipo. (Consulte Tipos de mídia.)
[in] pMedIn
Ponteiro para uma estrutura REGPINMEDIUM que especifica o meio para os pinos de entrada. Defina como NULL se não for necessário.
[in] pPinCategoryIn
Ponteiro para um GUID que especifica a categoria de pino de entrada. (Consulte Fixar Conjunto de Propriedades.) Defina como NULL se não for necessário.
[in] bRender
Valor booliano que especifica se o filtro deve renderizar sua entrada. Se TRUE, o filtro especificado deverá renderizar sua entrada. (Esse valor corresponde ao campo bRendered na estrutura REGFILTERPINS , que é usada para registrar informações sobre os pinos do filtro.)
[in] bOutputNeeded
Valor booliano que especifica se o filtro deve ter um pino de saída. Se TRUE, o filtro deverá ter pelo menos um pino de saída.
[in] cOutputTypes
Número de tipos de mídia de entrada especificados em pOutputTypes.
[in] pOutputTypes
Ponteiro para uma matriz de pares GUID que especificam tipos principais e subtipos para que os pinos de saída correspondam. O tamanho da matriz é 2 * cOutputTypes. A matriz pode ser NULL. Membros de matriz individuais podem ser GUID_NULL, que corresponde a qualquer tipo.
[in] pMedOut
Ponteiro para uma estrutura REGPINMEDIUM especificando o meio para os pinos de saída. Defina como NULL se não for necessário.
[in] pPinCategoryOut
Ponteiro para um GUID que especifica a categoria de pino de saída. (Consulte Fixar Conjunto de Propriedades.) Defina como NULL se não for necessário.
Retornar valor
Retorna um valor HRESULT . Os valores possíveis incluem os mostrados na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
Êxito |
|
Falha |
|
Memória insuficiente |
|
Argumento de ponteiro NULL |
Comentários
Para localizar filtros cujos pinos de entrada correspondem a um determinado conjunto de tipos de mídia, declare uma matriz com GUIDs de tipo principal e GUIDs de subtipo ordenados em pares. Passe o endereço da matriz no parâmetro pInputTypes e defina o parâmetro cInputTypes igual ao número de pares (ou seja, metade do tamanho da matriz):
C++ |
---|
MATRIZ GUIDInTypes[2]; arrayInTypes[0] = MEDIATYPE_Video; arrayInTypes[1] = GUID_NULL; |
Se o valor do parâmetro bExactMatch for TRUE, esse método procurará filtros que correspondam exatamente aos valores especificados para tipo de mídia, categoria de pino e pino médio. Se o valor for FALSE, os filtros que registram um valor nulo para qualquer um desses itens serão considerados uma correspondência. (Na verdade, um valor NULL no registro atua como um curinga.)
Se você especificar NULL para tipo de mídia, categoria de pino ou pino médio, qualquer filtro será considerado uma correspondência para esse parâmetro.
Se um pin não registrou nenhum tipo de mídia, esse método não o considerará uma correspondência para o tipo de mídia.
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 |