IMediaFilter::GetState
GetState メソッドは、フィルタの状態 (実行、停止、ポーズ) を取得する。
構文
HRESULT GetState(
DWORD dwMilliSecsTimeout,
FILTER_STATE *State
);
パラメータ
dwMilliSecsTimeout
[in] タイムアウト間隔 (ミリ秒単位)。無期限に動作を停止するには値 INFINITE を使う。
State
[out] フィルタの状態を示す FILTER_STATE 列挙型のメンバを受け取る変数へのポインタ。
戻り値
HRESULT 値を返す。可能な値は次の一覧のとおりである。
値 | 説明 |
S_OK | 成功。 |
E_POINTER | NULL ポインタ引数。 |
VFW_S_STATE_INTERMEDIATE | 状態移行中。 |
VFW_S_CANT_CUE | フィルタはアクティブだが、データは出力できない。 |
注意
状態移行は非同期で行うことができる。フィルタが新しい状態に移行していて、移行が完了する前にメソッドがタイム アウトになると、メソッドは VFW_S_STATE_INTERMEDIATE を返す。
フィルタが何かしらの理由でデータを出力できない場合、VFW_S_CANT_CUE を返す。ライブ キャプチャ フィルタは、ポーズ状態ではデータを出力しないため、ポーズ中にこの値を返す。
詳細については、「フィルタ グラフのデータ フロー」を参照すること。
参照