ICaptureGraphBuilder2::FindPin

FindPin メソッドは、フィルタの特定のピンを取得するか、特定のピンが指定された条件に適合するかどうかを判別する。

構文

  HRESULT FindPin(
  IUnknown *pSource,
  PIN_DIRECTION pindir,
  const GUID *pCategory,
  const GUID *pType,
  BOOL fUnconnected,
  int num,
  IPin **ppPin
);

パラメータ

pSource

[in] フィルタのインターフェイスへのポインタまたはピンのインターフェイスへのポインタ。

pindir

[in] ピンの方向 (入力または出力) を指定する PIN_DIRECTION 列挙のメンバ。

pCategory

[in] ピン カテゴリを指定する、ピン プロパティ セットAMPROPERTY_PIN_CATEGORY 構造体のメンバへのポインタ。すべてのカテゴリに適合させるには NULL を使う。

pType

[in] メディア タイプを指定するメジャー タイプ GUID へのポインタ。すべてのメディア タイプに適合させるには NULL を使う。

fUnconnected

[in] ピンの接続が外れている必要があるかどうかを指定するブール型の値。TRUE の場合、ピンの接続は外れている必要がある。FALSE の場合は、ピンが接続されていても、接続されていなくてもよい。

num

[in] 適合するピンのセットから、取得するピンのゼロから始まるインデックス値。pSource がフィルタへのポインタで、複数のピンが検索条件に適合する場合は、この引数で取得するピンを指定する。pSource がピンへのポインタである場合、この引数は無視される。

ppPin

[out] 適合するピンの IPin インターフェイスを受け取るポインタのアドレス。

戻り値

適合するピンが見つかった場合は S_OK、それ以外の場合は E_FAIL を返す。

注意

pSource がフィルタへのポインタである場合、メソッドは、そのフィルタ上で検索条件に適合する n 番目のピンを検索する。nnum 引数によって指定される。メソッドは、適合するピンを見つけると、ppPin 引数によってピンへのポインタを返す。

pSource がピンへのポインタである場合、メソッドは、そのピンが検索条件に適合するかどうかをテストする。ピンが条件に適合する場合、メソッドは S_OK を返し、ppPin 引数によってピンの IPin インターフェイスへのポインタを返す。それ以外の場合、メソッドは E_FAIL を返す。

いずれの場合も、メソッドが成功すると、ppPin 引数によって返される IPin インターフェイスに未処理の参照カウントが残る。使い終わった場合は、インターフェイスを必ず解放すること。

通常、アプリケーションがこのメソッドを使う必要はない。このメソッドは、ICaptureGraphBuilder2::RenderStream メソッドではフィルタ グラフを構築できないような、きわめて複雑なタスクを処理するために用意されている。このメソッドを使って目的のピンをキャプチャ フィルタから取得し、グラフの残りの部分を手動で作成する。

参照