Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[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 método CreateClassEnumerator cria um enumerador para uma categoria de dispositivo especificada.
Sintaxe
HRESULT CreateClassEnumerator(
[in] REFCLSID clsidDeviceClass,
[out] IEnumMoniker **ppEnumMoniker,
[in] DWORD dwFlags
);
Parâmetros
[in] clsidDeviceClass
Especifica o CLSID (identificador de classe) da categoria de dispositivo. Consulte Categorias de Filtro.
[out] ppEnumMoniker
Recebe um ponteiro para a interface IEnumMoniker . O chamador deve liberar a interface.
[in] dwFlags
Combinação bit a bit de zero ou mais sinalizadores. Se zero, o método enumera cada filtro na categoria. Se algum sinalizador for definido, a enumeração incluirá apenas filtros que correspondem aos sinalizadores especificados. Os seguintes sinalizadores são definidos:
| Sinalizador | Descrição |
|---|---|
| CDEF_DEVMON_CMGR_DEVICE | Enumerar codecs de áudio ou vídeo usando o gerenciador de compactação de áudio (ACM) ou o VCM (gerenciador de compactação de vídeo). |
| CDEF_DEVMON_DMO | Enumerar DMOs (Objetos de Mídia DirectX). |
| CDEF_DEVMON_FILTER | Enumerar filtros nativos do DirectShow. |
| CDEF_DEVMON_PNP_DEVICE | Enumerar dispositivos de hardware Plug and Play. |
Retornar valor
Retorna um dos seguintes valores HRESULT .
| Código de retorno | Descrição |
|---|---|
|
Êxito. |
|
Sem memória. |
|
A categoria especificada por clsidDeviceClass não existe ou está vazia. |
|
Argumento de ponteiro NULL. |
Comentários
Se a categoria não existir ou estiver vazia, o valor retornado será S_FALSE e o parâmetro ppEnumMoniker receberá o valor NULL. Portanto, teste o valor retornado S_OK em vez de usar a macro SUCCEEDED :
| C++ |
|---|
IEnumMoniker *pEnum = NULL;
hr = pSysDevEnum->CreateClassEnumerator(
CLSID_VideoCompressorCategory, &pEnum, 0);
if (hr == S_OK)
{
// Safe to dereference pEnum.
pEnum->Release();
}
|
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 |