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 を返す。ライブ キャプチャ フィルタは、ポーズ状態ではデータを出力しないため、ポーズ中にこの値を返す。

詳細については、「フィルタ グラフのデータ フロー」を参照すること。

参照