次の方法で共有


CTransInPlaceFilter.CompleteConnect メソッド

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

メソッドは CompleteConnect 、ピン接続を完了します。

構文

HRESULT CompleteConnect(
   PIN_DIRECTION direction,
   IPin          *pReceivePin
);

パラメーター

direction

PIN_DIRECTION 列挙された 型のメンバー。フィルター上のどのピンが接続を確立するかを指定します。

pReceivePin

この接続試行で、もう一方のピンの IPin インターフェイスへのポインター。

戻り値

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

リターン コード 説明
S_OK
成功しました。
VFW_E_NOT_IN_GRAPH
フィルターがフィルター グラフに含まれていません。

解説

このメソッドは 、CTransformFilter::CompleteConnect メソッドを オーバーライドします。

フィルターの動作は、ピン接続の順序によって異なります。

  • 入力ピンが最初に接続されている場合、接続では一時的なアロケーターが使用されます。 出力ピンが接続されると、フィルターは入力ピンを再接続します。 入力ピンを再接続すると、アップストリーム フィルターがアロケーターを再ネゴシエーションします。 その時点で、入力ピンはダウンストリーム フィルターからアロケーターを提案します。 詳細については、「 CTransInPlaceInputPin::GetAllocator」を参照してください。
  • 出力ピンが最初に接続されている場合、出力ピンはアロケーターを選択しません。 入力ピンが接続されると、両方の接続のアロケーターがネゴシエートされます。 入力メディアと出力メディアの種類が同じでない場合、フィルターは入力の種類を使用して出力ピンを再接続します。

フィルターは、 CBaseFilter::ReconnectPin メソッドを呼び出して、すべてのピン再接続を実行します。 また、ReconnectPin メソッドは、フィルター グラフ マネージャーで IFilterGraph2::ReconnectEx メソッドを呼び出します。

要件

要件
ヘッダー
Transip.h (include Streams.h)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CTransInPlaceFilter クラス