次の方法で共有


IFilterMapper2::EnumMatchingFilters メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは EnumMatchingFilters 、指定された要件を満たす登録済みフィルターを列挙します。

構文

HRESULT EnumMatchingFilters(
  [out] IEnumMoniker       **ppEnum,
  [in]  DWORD              dwFlags,
  [in]  BOOL               bExactMatch,
  [in]  DWORD              dwMerit,
  [in]  BOOL               bInputNeeded,
  [in]  DWORD              cInputTypes,
  [in]  const GUID         *pInputTypes,
  [in]  const REGPINMEDIUM *pMedIn,
  [in]  const CLSID        *pPinCategoryIn,
  [in]  BOOL               bRender,
  [in]  BOOL               bOutputNeeded,
  [in]  DWORD              cOutputTypes,
  [in]  const GUID         *pOutputTypes,
  [in]  const REGPINMEDIUM *pMedOut,
  [in]  const CLSID        *pPinCategoryOut
);

パラメーター

[out] ppEnum

IEnumMoniker インターフェイスへのポインターを受け取ります。 列挙体からフィルター モニカーを取得するには、このインターフェイス ポインターを使用します。 呼び出し元はインターフェイスを解放する必要があります。

[in] dwFlags

予約済み。0 である必要があります。

[in] bExactMatch

完全一致が必要かどうかを示すブール値。 詳細については、「解説」を参照してください。

[in] dwMerit

最小メリット値。 列挙は、より小さいメリット値を持つフィルターを除外します。 メリット値の一覧については、「 メリット」を参照してください。 dwMerit がMERIT_DO_NOT_USEより高い場合、列挙では、カテゴリのメリットがMERIT_DO_NOT_USE以下のフィルターも除外されます。 ( 「フィルター カテゴリ」を参照してください)。

[in] bInputNeeded

フィルターに入力ピンが必要かどうかを示すブール値。 値が TRUE の場合、フィルターには少なくとも 1 つの入力ピンが必要です。

[in] cInputTypes

pInputTypes で指定された入力メディアの種類の数。

[in] pInputTypes

入力ピンが一致するように、主要な型とサブタイプを指定する GUID ペアの配列へのポインター。 配列のサイズは 2 * cInputTypes です。 配列には NULL を指定できます。 個々の配列メンバーは、任意の型に一致するGUID_NULLできます。 ( 「メディアの種類」を参照してください)。

[in] pMedIn

入力ピンのメディアを指定する REGPINMEDIUM 構造体へのポインター。 必要ない場合は NULL に設定します。

[in] pPinCategoryIn

入力ピン カテゴリを指定する GUID へのポインター。 (「 Pin プロパティ セット」を参照してください)。必要ない場合は NULL に設定します。

[in] bRender

フィルターが入力をレンダリングする必要があるかどうかを示すブール値。 TRUE の場合、指定したフィルターは入力をレンダリングする必要があります。 (この値は、フィルターのピンに関する情報を登録するために使用される REGFILTERPINS 構造体の bRendered フィールドに対応します)。

[in] bOutputNeeded

フィルターに出力ピンが必要かどうかを指定するブール値。 TRUE の場合、フィルターには少なくとも 1 つの出力ピンが必要です。

[in] cOutputTypes

pOutputTypes で指定された入力メディアの種類の数。

[in] pOutputTypes

出力ピンが一致するように、主要な型とサブタイプを指定する GUID ペアの配列へのポインター。 配列のサイズは 2 * cOutputTypes です。 配列には NULL を指定できます。 個々の配列メンバーは、任意の型に一致するGUID_NULLできます。

[in] pMedOut

出力ピンのメディアを指定する REGPINMEDIUM 構造体へのポインター。 必要ない場合は NULL に設定します。

[in] pPinCategoryOut

出力ピン カテゴリを指定する GUID へのポインター。 (「 Pin プロパティ セット」を参照してください)。必要ない場合は NULL に設定します。

戻り値

HRESULT 値を返します。 次の表に示す値を指定できます。

リターン コード 説明
S_OK
Success
E_FAIL
障害
E_OUTOFMEMORY
メモリ不足
E_POINTER
NULL ポインター引数

注釈

入力ピンが特定のメディア型のセットと一致するフィルターを検索するには、メジャー型 GUID とサブタイプ GUID をペアで並べ替えた配列を宣言します。 pInputTypes パラメーターに配列アドレスを渡し、cInputTypes パラメーターをペアの数 (つまり配列サイズの半分) に設定します。

C++
GUID arrayInTypes[2];arrayInTypes[0] = MEDIATYPE_Video;arrayInTypes[1] = GUID_NULL;

DWORD cInTypes = 1;

出力ピンの場合は、 pOutputTypes パラメーターで同様の配列を渡し、 cOutputTypes パラメーターに GUID ペアの数を指定します。

bExactMatch パラメーターの値が TRUE の場合、このメソッドは、メディアの種類、ピン カテゴリ、およびピンメディアに指定した値と完全に一致するフィルターを検索します。 値が FALSE の場合、これらの項目のいずれかに NULL 値を登録するフィルターは一致と見なされます。 (実際には、レジストリ内の NULL 値はワイルドカードとして機能します)。

メディアの種類、ピン カテゴリ、またはピン メディアに NULL を 指定した場合、フィルターはそのパラメーターと一致すると見なされます。

ピンがメディアの種類を登録しなかった場合、このメソッドはメディアの種類に一致するとは見なされません。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IFilterMapper2 インターフェイス