IPin::QueryInternalConnections メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
QueryInternalConnections メソッドは、(フィルター内で) このピンに内部的に接続されているピンを取得します。
構文
HRESULT QueryInternalConnections(
[out] IPin **apPin,
[in, out] ULONG *nPin
);
パラメーター
[out] apPin
IPin ポインターの配列のアドレス。 呼び出し元は配列を割り当てます。 メソッドは、 配列に IPin ポインターを入力します。 nPin が 0 の場合、このパラメーターは NULL にすることができます。
[in, out] nPin
入力時に、配列のサイズを指定します。 出力時に、内部接続されたピンの数を指定します。
戻り値
HRESULT 値を返します。 使用可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
配列サイズが不十分です。 |
|
正常終了しました。 |
|
実装されていません。 |
注釈
このメソッドは、入力ピンと出力ピンのフィルターの内部マッピングに関する情報を返します。 つまり、入力ピンが出力ピンにデータを配信する方法について説明します。
ほとんどのフィルターでは、すべての入力ピンがすべての出力ピンに接続されます。 たとえば、変換フィルターでは、1 つの入力が 1 つの出力に接続されます。スプリッター フィルターでは、1 つの入力が複数の出力に接続されます。 このような場合、 メソッドは単に E_NOTIMPLを返す必要があります。
それ以外の場合、メソッドは IPin ポインターの配列を返します。この配列は、クエリを実行したピンに内部的にマップされたピンごとに 1 つずつ返されます。 入力ピンで メソッドを呼び出すと、配列には出力ピンへのポインターが含まれます。その逆も同様です。
呼び出し元は IPin ポインターの配列を割り当てます。 必要な配列サイズを取得するには、 apPin が NULL と等しいメソッドを 1 回呼び出します。 サイズは nPin パラメーターで返されます。 次に、配列を割り当ててメソッドをもう一度呼び出し、 apPin を配列のアドレスに、 nPin を配列サイズと等しく設定します。 次に、 メソッドは配列に IPin ポインターを入力します。 返される各ポインターには未処理の参照カウントがあり、呼び出し元が解放する必要があります。
このメソッドには、現在非推奨となった別の用途があります。 フィルター グラフ マネージャー は、少なくとも 1 つの入力ピンがこのメソッドを実装し 、nPin で 0 を返す場合、フィルターをレンダラー フィルターとして扱います。 ただし、新しいレンダラー フィルターを作成する場合は、このメソッドを使用してフィルターがレンダラーであることを示すのではなく、 IAMFilterMiscFlags インターフェイスを実装する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |