次の方法で共有


CBaseRenderer.GetState メソッド

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

メソッドは GetState 、フィルターの状態 (実行中、停止、または一時停止) を取得します。

構文

HRESULT GetState(
   DWORD        dwMilliSecsTimeout,
   FILTER_STATE *State
);

パラメーター

dwMilliSecsTimeout

タイムアウト間隔 (ミリ秒単位)。

State

フィルターの状態を示す、 FILTER_STATE 列挙型のメンバーを受け取る変数へのポインター。

戻り値

次の表に示す HRESULT 値のいずれかを返します。

リターン コード 説明
S_OK
成功しました。
VFW_S_STATE_INTERMEDIATE
フィルターは、指定された状態に遷移しています。
E_POINTER
NULL ポインター引数。

解説

このメソッドは 、CBaseFilter::GetState メソッドをオーバーライドします。 レンダラーが一時停止すると、レンダリングするサンプルを受け取るまで、状態遷移は完了しません。 状態遷移が完了する前にタイムアウトが切れた場合、メソッドは VFW_S_STATE_INTERMEDIATEを返します。

要件

要件
ヘッダー
Renbase.h (Streams.h を含む)
ライブラリ
Strmbase.lib (製品版ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CBaseRenderer クラス