次の方法で共有


CBasePin::CheckConnect

CheckConnect メソッドは、ピン接続が適切かどうかを確認する。

構文

  virtual HRESULT CheckConnect(
    IPin *pPin
);

パラメータ

pPin

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

戻り値

次の表に示す、いずれかの HRESULT 値を返す。

説明
S_OK 成功。
VFW_E_INVALID_DIRECTION ピンの向きに互換性がない。

注意

このメソッドは接続処理の終了時に両方のピンで呼び出される。接続ピンでは CBasePin::Connect メソッドから、受信ピンでは CBasePin::ReceiveConnection メソッドから呼び出される。

このメソッドを使って、pPin パラメータで指定したピンが接続に適しているかどうかを確認する。両方のピンが同じ向き (両方とも入力、または両方とも出力) である場合、基底クラスはエラーを返す。派生クラスはこのメソッドをオーバーライドし、ピン内の他のフィーチャーを検証することができる。たとえば、CBaseOutputPin クラスは入力ピンに IMemInputPin インターフェイスを問い合わせる。

このメソッドが失敗すると接続は失敗し、ピンは CBasePin::BreakConnect メソッドを呼び出す。CheckConnect で取得したリソースを解放するには BreakConnect を使うこと。たとえば、CheckConnectQueryInterface メソッドを呼び出すなら、BreakConnect はそのインターフェイスを解放しなければならない。

参照