IMediaPosition::put_CurrentPosition
put_CurrentPosition メソッドは、ストリームの合計時間幅を基準とする、現在の位置を設定する。
構文
HRESULT put_CurrentPosition(
REFTIME llTime
);
パラメータ
llTime
[in] 新しい位置 (秒単位)。
戻り値
HRESULT 値を返す。可能な値は次のとおりである。
値 | 説明 |
S_FALSE | グラフはポーズ状態だった。そして実行状態に戻る移行中である。 |
S_OK | 成功。 |
E_INVALIDARG | 無効な引数。 |
E_NOTIMPL | 実装されていない。 |
注意
llTime 引数によって指定される位置は全時間幅からの相対値であり、再生レートは無視される。たとえば、ソース ファイルが 10 秒の長さとすると、5.0 の位置を設定するとグラフは再生レートとは無関係にファイルの真中をシークする。
フィルタ グラフが実行中の場合、フィルタ グラフ マネージャはグラフをポーズし、シーク コマンドを発行し、次にグラフを再度実行する。グラフが実行状態への移行中にメソッドが返ると、戻り値は S_FALSE となる。
シーク コマンドを受け取ったときにフィルタがポーズ状態の場合、新しい位置からそのデータを取り込む前に既存のデータをフラッシュしなければならない。詳細については、「IPin::BeginFlush」および「IPin::EndFlush」を参照すること。
参照