次の方法で共有


IPin::QueryInternalConnections メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/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 値を返します。 使用可能な値は次のとおりです。

リターン コード 説明
S_FALSE
配列サイズが不十分です。
S_OK
正常終了しました。
E_NOTIMPL
実装されていません。

注釈

このメソッドは、入力ピンと出力ピンのフィルターの内部マッピングに関する情報を返します。 つまり、入力ピンが出力ピンにデータを配信する方法について説明します。

ほとんどのフィルターでは、すべての入力ピンがすべての出力ピンに接続されます。 たとえば、変換フィルターでは、1 つの入力が 1 つの出力に接続されます。スプリッター フィルターでは、1 つの入力が複数の出力に接続されます。 このような場合、 メソッドは単に E_NOTIMPLを返す必要があります。

それ以外の場合、メソッドは IPin ポインターの配列を返します。この配列は、クエリを実行したピンに内部的にマップされたピンごとに 1 つずつ返されます。 入力ピンで メソッドを呼び出すと、配列には出力ピンへのポインターが含まれます。その逆も同様です。

呼び出し元は IPin ポインターの配列を割り当てます。 必要な配列サイズを取得するには、 apPinNULL と等しいメソッドを 1 回呼び出します。 サイズは nPin パラメーターで返されます。 次に、配列を割り当ててメソッドをもう一度呼び出し、 apPin を配列のアドレスに、 nPin を配列サイズと等しく設定します。 次に、 メソッドは配列に IPin ポインターを入力します。 返される各ポインターには未処理の参照カウントがあり、呼び出し元が解放する必要があります。

このメソッドには、現在非推奨となった別の用途があります。 フィルター グラフ マネージャー は、少なくとも 1 つの入力ピンがこのメソッドを実装し 、nPin で 0 を返す場合、フィルターをレンダラー フィルターとして扱います。 ただし、新しいレンダラー フィルターを作成する場合は、このメソッドを使用してフィルターがレンダラーであることを示すのではなく、 IAMFilterMiscFlags インターフェイスを実装する必要があります。

要件

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

こちらもご覧ください

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

IPin インターフェイス