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 を使うこと。たとえば、CheckConnect が QueryInterface メソッドを呼び出すなら、BreakConnect はそのインターフェイスを解放しなければならない。
参照