ICreateDevEnum::CreateClassEnumerator メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
CreateClassEnumerator メソッドは、指定したデバイス カテゴリの列挙子を作成します。
構文
HRESULT CreateClassEnumerator(
[in] REFCLSID clsidDeviceClass,
[out] IEnumMoniker **ppEnumMoniker,
[in] DWORD dwFlags
);
パラメーター
[in] clsidDeviceClass
デバイス カテゴリのクラス識別子 (CLSID) を指定します。 「カテゴリのフィルター」を参照してください。
[out] ppEnumMoniker
IEnumMoniker インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
[in] dwFlags
0 個以上のフラグのビットごとの組み合わせ。 0 の場合、メソッドはカテゴリ内のすべてのフィルターを列挙します。 フラグが設定されている場合、列挙には、指定したフラグに一致するフィルターのみが含まれます。 次のフラグが定義されています。
フラグ | 説明 |
---|---|
CDEF_DEVMON_CMGR_DEVICE | オーディオ圧縮マネージャー (ACM) またはビデオ圧縮マネージャー (VCM) を使用して、オーディオコーデックまたはビデオ コーデックを列挙します。 |
CDEF_DEVMON_DMO | DirectX メディア オブジェクト (DMU) を列挙します。 |
CDEF_DEVMON_FILTER | ネイティブ DirectShow フィルターを列挙します。 |
CDEF_DEVMON_PNP_DEVICE | ハードウェア デバイスプラグ アンド プレイ列挙します。 |
戻り値
次のいずれかの HRESULT 値を返します。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
メモリが不足しています。 |
|
clsidDeviceClass で指定されたカテゴリが存在しないか、空です。 |
|
NULL ポインター引数。 |
注釈
カテゴリが存在しないか空の場合、戻り値はS_FALSEされ、 ppEnumMoniker パラメーターは NULL 値を受け取ります。 したがって、 SUCCEEDED マクロを使用する代わりに、戻り値S_OKをテストします。
C++ |
---|
IEnumMoniker *pEnum = NULL; hr = pSysDevEnum->CreateClassEnumerator( CLSID_VideoCompressorCategory, &pEnum, 0); if (hr == S_OK) { // Safe to dereference pEnum. pEnum->Release(); } |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |