ICreateDevEnum::CreateClassEnumerator, méthode (strmif.h)

La méthode CreateClassEnumerator crée un énumérateur pour une catégorie d’appareil spécifiée.

Syntaxe

HRESULT CreateClassEnumerator(
  [in]  REFCLSID     clsidDeviceClass,
  [out] IEnumMoniker **ppEnumMoniker,
  [in]  DWORD        dwFlags
);

Paramètres

[in] clsidDeviceClass

Spécifie l’identificateur de classe (CLSID) de la catégorie d’appareil. Voir Catégories de filtres.

[out] ppEnumMoniker

Reçoit un pointeur vers l’interface IEnumMoniker . L’appelant doit libérer l’interface.

[in] dwFlags

Combinaison au niveau du bit de zéro ou plusieurs indicateurs. Si zéro, la méthode énumère chaque filtre dans la catégorie. Si des indicateurs sont définis, l’énumération inclut uniquement les filtres qui correspondent aux indicateurs spécifiés. Les indicateurs suivants sont définis :

Indicateur Description
CDEF_DEVMON_CMGR_DEVICE Énumérez les codecs audio ou vidéo, à l’aide du gestionnaire de compression audio (ACM) ou du gestionnaire de compression vidéo (VCM).
CDEF_DEVMON_DMO Énumérer les objets multimédias DirectX (DMO).
CDEF_DEVMON_FILTER Énumérer les filtres DirectShow natifs.
CDEF_DEVMON_PNP_DEVICE Énumérez Plug-and-Play périphériques matériels.

Valeur retournée

Retourne l’une des valeurs HRESULT suivantes.

Code de retour Description
S_OK
Réussite.
E_OUTOFMEMORY
Mémoire insuffisante.
S_FALSE
La catégorie spécifiée par clsidDeviceClass n’existe pas ou n’est pas vide.
E_POINTER
Argument de pointeur NULL.

Notes

Si la catégorie n’existe pas ou est vide, la valeur de retour est S_FALSE, et le paramètre ppEnumMoniker reçoit la valeur NULL. Par conséquent, testez la valeur de retour S_OK au lieu d’utiliser la macro SUCCEEDED :

C++
IEnumMoniker *pEnum = NULL;
hr = pSysDevEnum->CreateClassEnumerator(
    CLSID_VideoCompressorCategory, &pEnum, 0);
if (hr == S_OK) 
{
    // Safe to dereference pEnum.
    pEnum->Release();
}
Utilisez l’interface IEnumMoniker pour énumérer les monikers qui représentent les filtres dans la catégorie d’appareil. Monikers prend en charge l’interface IMoniker . Les monikers créés par CreateClassEnumerator prennent également en charge l’interface IGetCapabilitiesKey .

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

ICreateDevEnum, interface