IMXF::SetState メソッド (dmusicks.h)
SetState メソッドは、MIDI 変換インターフェイスの状態を設定するために使用されます。
構文
NTSTATUS SetState(
KSSTATE State
);
パラメーター
State
フィルター グラフを設定する状態を指定します。 このパラメーターは KSSTATE 列挙値です。 詳細については、「解説」を参照してください。
戻り値
このメソッドは、呼び出しが成功した場合にSTATUS_SUCCESSを含む NTSTATUS を返します。 それ以外の場合、メソッドは適切なエラー コードを返します。
注釈
オーディオ フィルター グラフの場合、4 つの KSSTATE 列挙値は次のように解釈されます。
値 | State |
---|---|
KSSTATE_RUN | すべてが正常に実行され、機能しています。 この状態では、IMXF インターフェイスはアクティブになり、通常どおりメッセージを渡します。 |
KSSTATE_ACQUIRE | これは、KSSTATE_RUNとKSSTATE_STOPの間の遷移を管理するのに役立つ移行状態です。 この状態では、メッセージをフィルター グラフのダウンストリームに渡すことはできません。 |
KSSTATE_PAUSE | これは、KSSTATE_RUNとKSSTATE_STOPの間の遷移を管理するのに役立つ移行状態です。 |
KSSTATE_STOP | すべてが現在のフィルター グラフで停止します。 |
ミニポート ドライバーの動作は、フィルター グラフの状態によって異なります。 この動作は、レンダリング (出力) とキャプチャ (入力) とは異なります。
出力側では、現在の状態がKSSTATE_RUN以外の場合、IMXF インターフェイスはデータを保持し、ハードウェアに渡す必要はありません。 現在の状態がKSTATE_STOP場合、ミニポート ドライバーは、そのデータをアロケーターに渡すことによって指定されたデータを破棄する必要があります。
入力側では、入力ストリームがKSSTATE_RUNまたはKSSTATE_PAUSEにある場合、ミニポート ドライバーがアロケーターからメッセージを取得し、キャプチャ シンクにアップストリームに送信することは有効です。 状態がKSSTATE_STOPまたはKSSTATE_ACQUIREであり、ハードウェアがデータを生成しようとしている場合は、そのデータを破棄する必要があります。
要件
要件 | 値 |
---|---|
Header | dmusicks.h |
IRQL | PASSIVE_LEVEL |