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