Metodo ICreateDevEnum::CreateClassEnumerator (strmif.h)
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il metodo CreateClassEnumerator crea un enumeratore per una categoria di dispositivi specificata.
Sintassi
HRESULT CreateClassEnumerator(
[in] REFCLSID clsidDeviceClass,
[out] IEnumMoniker **ppEnumMoniker,
[in] DWORD dwFlags
);
Parametri
[in] clsidDeviceClass
Specifica l'identificatore di classe (CLSID) della categoria di dispositivi. Vedere Categorie di filtri.
[out] ppEnumMoniker
Riceve un puntatore all'interfaccia IEnumMoniker . Il chiamante deve rilasciare l'interfaccia.
[in] dwFlags
Combinazione bit per bit di zero o più flag. Se zero, il metodo enumera ogni filtro nella categoria. Se sono impostati flag, l'enumerazione include solo filtri corrispondenti ai flag specificati. Vengono definiti i flag seguenti:
Flag | Descrizione |
---|---|
CDEF_DEVMON_CMGR_DEVICE | Enumerare codec audio o video, usando il gestore di compressione audio (ACM) o il gestore di compressione video (VCM).Enumerate audio or video codecs, using the audio compression manager (ACM) or video compression manager (VCM). |
CDEF_DEVMON_DMO | Enumerare oggetti multimediali DirectX .Enumerate DirectX Media Objects (DMOs). |
CDEF_DEVMON_FILTER | Enumerare i filtri DirectShow nativi. |
CDEF_DEVMON_PNP_DEVICE | Enumerare Plug and Play dispositivi hardware. |
Valore restituito
Restituisce uno dei valori HRESULT seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Memoria insufficiente. |
|
La categoria specificata da clsidDeviceClass non esiste o è vuota. |
|
Argomento puntatore NULL. |
Commenti
Se la categoria non esiste o è vuota, il valore restituito è S_FALSE e il parametro ppEnumMoniker riceve il valore NULL. Verificare quindi il valore restituito S_OK anziché usare la macro SUCCEEDED :
C++ |
---|
IEnumMoniker *pEnum = NULL; hr = pSysDevEnum->CreateClassEnumerator( CLSID_VideoCompressorCategory, &pEnum, 0); if (hr == S_OK) { // Safe to dereference pEnum. pEnum->Release(); } |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | strmif.h (include Dshow.h) |
Libreria | Strmiids.lib |