次の方法で共有


CBasePin::ReceiveConnection

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

構文

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

パラメータ

pConnector

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

pmt

メディア タイプを指定する 構造体へのポインタ。

戻り値

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 からエラー コードを返す。

参照