IFilterGraph2::ReconnectEx
ReconnectEx メソッドは、既存のピン接続を切断し、指定されたメディア タイプを使って同じピンに再接続する。
アプリケーションからこのメソッドを呼び出さないこと。このメソッドは、グラフ作成プロセス中に、フィルタによって呼び出される。
構文
HRESULT ReconnectEx(
IPin *ppin,
const AM_MEDIA_TYPE *pmt
);
パラメータ
ppin
[in] 切断および再接続するピンへのポインタ。
pmt
[in] 再接続に使うメディア タイプへのポインタ。既存のメディア タイプを使うには、NULL を指定する。
戻り値
HRESULT 値を返す。可能な値は次のとおりである。
値 | 説明 |
S_OK | 成功。 |
S_FALSE | ピンが接続されていない。エラーなし。 |
E_FAIL | 失敗。 |
E_POINTER | NULL ポインタ引数。 |
VFW_E_NOT_STOPPED | フィルタが停止していないが、実行中の再接続がサポートされていない。 |
注意
フィルタは、このメソッドを呼び出して、ピン接続を再ネゴシエートする。このメソッドは、別のスレッドで実行される。このメソッドを呼び出す前に、他のピンで IPin::QueryAccept を呼び出し、再接続の試みが成功したかどうかを確認すること。このメソッドは、QueryAccept から S_OK が返されない限り、呼び出さないこと。S_OK が返されないのにこのメソッドを呼び出すと、再接続は非同期に実行されるので、ReconnectEx メソッドが成功しても、再接続には失敗する場合がある。その場合、フィルタ グラフは互換性のない状態になる。
このメソッドは、メディア タイプを指定することによって、IFilterGraph::Reconnect メソッドを強化している。このメソッドを使えば、再接続が成功する可能性が高くなる。
参照