次の方法で共有


EC_COMPLETE

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

特定のストリームのすべてのデータがレンダリングされました。

パラメーター

lParam1

(HRESULT)完了時のストリームの状態。 再生中にエラーが発生しなかった場合、値はS_OK。

lParam2

(IUnknown*)ゼロ、またはレンダラーの IBaseFilter インターフェイスへのポインター。

既定の動作

既定では、フィルター グラフ マネージャーはこのイベントをアプリケーションに転送しません。 ただし、グラフ レポートのすべてのストリーム がEC_COMPLETEされた後、フィルター グラフ マネージャーはアプリケーションに個別の EC_COMPLETE イベントを投稿します。

このイベントに対して既定のアクションが無効になっている場合、アプリケーションはレンダラーから すべてのEC_COMPLETE イベントを受け取ります。

解説

レンダラー フィルターは、ストリームの終了に関する通知を受信すると、このイベントを送信します。 (ストリームの終了は、 IPin::EndOfStream メソッドを介して通知されます)。フィルターは、ストリームごとに 1 つの EC_COMPLETE イベントを送信します。 フィルターは、イベントを送信する前に保留中のサンプルを処理する必要があります。 レンダラーを停止すると、キャッシュされたストリームの終了状態がリセットされます。

レンダラーが一時停止されている場合、IMediaFilter::Run メソッドが呼び出されるまで、EC_COMPLETEは送信されません。 さらに、フィルター 停止またはフラッシュされるまで、一時停止から実行までの切り替えごとに、EC_COMPLETEイベントが送信され続けます。

フィルターは 、lParam2 パラメーターを IBaseFilter ポインターに設定します。 既定のアクションが有効になっている場合、フィルター グラフ マネージャーはこのパラメーターを 0 に設定します。

要件

要件
ヘッダー
Dshow.h

関連項目

イベント通知コード

DirectShow でのイベント通知

代替ビデオ レンダラー