次の方法で共有


IFilterGraph2::ReconnectEx メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは ReconnectEx 、既存のピン接続を切断し、指定されたメディアの種類を使用して同じピンに再接続します。

アプリケーションでは、このメソッドを呼び出さないでください。 これは、グラフの作成プロセス中にフィルターによって呼び出されます。

構文

HRESULT ReconnectEx(
  [in] IPin                *ppin,
  [in] const AM_MEDIA_TYPE *pmt
);

パラメーター

[in] ppin

切断して再接続するピンへのポインター。

[in] pmt

再接続するメディアの種類へのポインター。 既存のメディアの種類を使用するには 、NULL を 指定します。

戻り値

HRESULT 値を返します。 使用可能な値は次のとおりです。

リターン コード 説明
S_OK
成功しました。
S_FALSE
ピンが接続されていません。 エラーなし。
E_FAIL
失敗しました。
E_POINTER
NULL ポインター引数。
VFW_E_NOT_STOPPED
フィルターは停止しませんが、実行中の状態では再接続をサポートしていません。

注釈

フィルターは、ピン接続を再ネゴシエーションするためにこのメソッドを呼び出すことができます。 メソッドは別のスレッドで実行されます。 このメソッドを呼び出す前に、もう一方のピンで IPin::QueryAccept を呼び出して、再接続の試行が成功することを確認します。 QueryAccept がS_OKを返さない限り、このメソッドを呼び出さないでください。 そうしないと、再接続が非同期的に実行されるため、メソッドが成功しても再接続が失敗 ReconnectEx し、フィルター グラフが不整合な状態のままになる可能性があります。

このメソッドは、メディアの種類を指定することで IFilterGraph::Reconnect メソッドを改善します。 これにより、再接続が成功する可能性が高くなります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IFilterGraph2 インターフェイス

再接続ピン