CBasePin.ReceiveConnection メソッド

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

メソッドは ReceiveConnection 、別のピンからの接続を受け入れます。 このメソッドは 、IPin::ReceiveConnection メソッドを 実装します。

構文

HRESULT ReceiveConnection(
   IPin          *pConnector,
   AM_MEDIA_TYPE *pmt
);

パラメーター

pConnector

接続ピンの IPin インターフェイスへのポインター。

Pmt

メディアの種類を指定する AM_MEDIA_TYPE 構造体へのポインター。

戻り値

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

リターン コード 説明
S_OK
成功しました。
E_POINTER
NULL ポインター引数。
VFW_E_ALREADY_CONNECTED
ピンは既に接続されています。
VFW_E_NOT_STOPPED
フィルターはアクティブであり、ピンは動的再接続をサポートしていません。
VFW_E_TYPE_NOT_ACCEPTED
指定されたメディアの種類は受け入れできません。

解説

出力ピンは、入力ピンでこのメソッドを呼び出します。 入力ピンからエラー コードが返された場合、接続は失敗します。

基底クラスでは、このメソッドは次の手順を実行します。

  • ピンが既に接続されているかどうかを確認します。
  • フィルターが停止されているかどうかを確認します。
  • CBasePin::CheckConnect メソッドを呼び出して、接続ピンが適切かどうかをテストします。
  • CBasePin::CheckMediaType メソッドを呼び出して、メディアの種類が許容されるかどうかをテストします。

これらの手順がすべて成功した場合、メソッドは CBasePin::CompleteConnect メソッドと SetMediaType メソッドを呼び出して接続を完了します。 これらのメソッドは、メディアの種類と出力ピンへのポインターを格納します。

CheckConnect または CheckMediaType が失敗した場合、基底クラスは CBasePin::BreakConnect メソッドを呼び出して接続を切断し、 からReceiveConnectionエラー コードを返します。

要件

要件
ヘッダー
Amfilter.h (Stream.h を含む)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CBasePin クラス