IMediaControl::Stop

Stop メソッドは、グラフのすべてのフィルタを停止する。

構文

  HRESULT Stop(void);

戻り値

成功した場合は S_OK を返す。それ以外の場合は、エラーの原因を示す HRESULT 値を返す。

注意

グラフが実行中の場合、このメソッドはそのグラフを停止させる前にポーズさせる。ポーズ中は、ビデオ レンダラは現在のフレームをポスター フレームとしてディスプレイにコピーできる。

このメソッドはストリームの初めまでシークしない。このメソッドを呼び出し、次に IMediaControl::Run メソッドを呼び出すと、停止位置から再生される。グラフをシークするには、IMediaSeeking インターフェイスを使うこと。

フィルタ グラフ マネージャはグラフ内のすべてのフィルタでポーズを呼び出し、次にポーズ操作の完了を待たずにすべてのフィルタで IMediaFilter::Stop メソッドを呼び出す。したがって、ポーズ操作の完了前に Stop メソッドの呼び出しを受け取るフィルタがあるかもしれない。カスタム レンダリング フィルタを開発している場合は、こういったケースを考慮して、実行状態にまだある間に停止コマンドを受け取ったら、最初にフィルタをポーズするようにしなければならない。しかし、ほとんどのフィルタはこういった場合に特に何かをする必要はない。

参照