ICreateDevEnum::CreateClassEnumerator-Methode (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die CreateClassEnumerator-Methode erstellt einen Enumerator für eine angegebene Gerätekategorie.
Syntax
HRESULT CreateClassEnumerator(
[in] REFCLSID clsidDeviceClass,
[out] IEnumMoniker **ppEnumMoniker,
[in] DWORD dwFlags
);
Parameter
[in] clsidDeviceClass
Gibt den Klassenbezeichner (CLSID) der Gerätekategorie an. Weitere Informationen finden Sie unter Filtern von Kategorien.
[out] ppEnumMoniker
Empfängt einen Zeiger auf die IEnumMoniker-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben.
[in] dwFlags
Bitweise Kombination von null oder mehr Flags. Wenn null, listet die Methode jeden Filter in der Kategorie auf. Wenn Flags festgelegt sind, enthält die Enumeration nur Filter, die den angegebenen Flags entsprechen. Die folgenden Flags werden definiert:
Flag | Beschreibung |
---|---|
CDEF_DEVMON_CMGR_DEVICE | Listen Sie Audio- oder Videocodecs auf, indem Sie den Audiokomprimierungs-Manager (ACM) oder den Videokomprimierungs-Manager (VCM) verwenden. |
CDEF_DEVMON_DMO | Enumerate DirectX Media Objects (DMOs). |
CDEF_DEVMON_FILTER | Listen Sie native DirectShow-Filter auf. |
CDEF_DEVMON_PNP_DEVICE | Listet Plug & Play Hardwaregeräte auf. |
Rückgabewert
Gibt einen der folgenden HRESULT-Werte zurück.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Nicht genügend Arbeitsspeicher. |
|
Die von clsidDeviceClass angegebene Kategorie ist nicht vorhanden oder leer. |
|
NULL-Zeigerargument. |
Hinweise
Wenn die Kategorie nicht vorhanden oder leer ist, wird der Rückgabewert S_FALSE, und der ppEnumMoniker-Parameter empfängt den Wert NULL. Testen Sie daher den Rückgabewert S_OK, anstatt das MAKRO SUCCEEDED zu verwenden:
C++ |
---|
IEnumMoniker *pEnum = NULL; hr = pSysDevEnum->CreateClassEnumerator( CLSID_VideoCompressorCategory, &pEnum, 0); if (hr == S_OK) { // Safe to dereference pEnum. pEnum->Release(); } |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | strmif.h (include Dshow.h) |
Bibliothek | Strmiids.lib |