CTransInPlaceFilter.CompleteConnect メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは CompleteConnect
、ピン接続を完了します。
構文
HRESULT CompleteConnect(
PIN_DIRECTION direction,
IPin *pReceivePin
);
パラメーター
-
direction
-
PIN_DIRECTION 列挙された 型のメンバー。フィルター上のどのピンが接続を確立するかを指定します。
-
pReceivePin
-
この接続試行で、もう一方のピンの IPin インターフェイスへのポインター。
戻り値
HRESULT を返します。 次の表に示す値を指定できます。
リターン コード | 説明 |
---|---|
|
成功しました。 |
|
フィルターがフィルター グラフに含まれていません。 |
解説
このメソッドは 、CTransformFilter::CompleteConnect メソッドを オーバーライドします。
フィルターの動作は、ピン接続の順序によって異なります。
- 入力ピンが最初に接続されている場合、接続では一時的なアロケーターが使用されます。 出力ピンが接続されると、フィルターは入力ピンを再接続します。 入力ピンを再接続すると、アップストリーム フィルターがアロケーターを再ネゴシエーションします。 その時点で、入力ピンはダウンストリーム フィルターからアロケーターを提案します。 詳細については、「 CTransInPlaceInputPin::GetAllocator」を参照してください。
- 出力ピンが最初に接続されている場合、出力ピンはアロケーターを選択しません。 入力ピンが接続されると、両方の接続のアロケーターがネゴシエートされます。 入力メディアと出力メディアの種類が同じでない場合、フィルターは入力の種類を使用して出力ピンを再接続します。
フィルターは、 CBaseFilter::ReconnectPin メソッドを呼び出して、すべてのピン再接続を実行します。 また、ReconnectPin メソッドは、フィルター グラフ マネージャーで IFilterGraph2::ReconnectEx メソッドを呼び出します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|