Método ICreateDevEnum::CreateClassEnumerator (strmif.h)
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
El método CreateClassEnumerator crea un enumerador para una categoría de dispositivo especificada.
Sintaxis
HRESULT CreateClassEnumerator(
[in] REFCLSID clsidDeviceClass,
[out] IEnumMoniker **ppEnumMoniker,
[in] DWORD dwFlags
);
Parámetros
[in] clsidDeviceClass
Especifica el identificador de clase (CLSID) de la categoría de dispositivo. Consulte Categorías de filtro.
[out] ppEnumMoniker
Recibe un puntero a la interfaz IEnumMoniker . El autor de la llamada debe liberar la interfaz .
[in] dwFlags
Combinación bit a bit de cero o más marcas. Si es cero, el método enumera todos los filtros de la categoría. Si se establecen marcas, la enumeración solo incluye filtros que coincidan con las marcas especificadas. Se definen las marcas siguientes:
Marca | Descripción |
---|---|
CDEF_DEVMON_CMGR_DEVICE | Enumera los códecs de audio o vídeo, mediante el administrador de compresión de audio (ACM) o el administrador de compresión de vídeo (VCM). |
CDEF_DEVMON_DMO | Enumerar objetos multimedia de DirectX (DMO). |
CDEF_DEVMON_FILTER | Enumerar los filtros nativos de DirectShow. |
CDEF_DEVMON_PNP_DEVICE | Enumerar Plug and Play dispositivos de hardware. |
Valor devuelto
Devuelve uno de los siguientes valores HRESULT .
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
Memoria insuficiente |
|
La categoría especificada por clsidDeviceClass no existe o está vacía. |
|
Argumento de puntero NULL. |
Comentarios
Si la categoría no existe o está vacía, el valor devuelto se S_FALSE y el parámetro ppEnumMoniker recibe el valor NULL. Por lo tanto, pruebe el valor devuelto S_OK en lugar de usar la 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 | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | strmif.h (incluye Dshow.h) |
Library | Strmiids.lib |