次の方法で共有


IMXF::SetState メソッド (dmusicks.h)

SetState メソッドは、MIDI 変換インターフェイスの状態を設定するために使用されます。

構文

NTSTATUS SetState(
  KSSTATE State
);

パラメーター

State

フィルター グラフを設定する状態を指定します。 このパラメーターは KSSTATE 列挙値です。 詳細については、次の「解説」セクションを参照してください。

戻り値

このメソッドは、呼び出しが成功した場合にSTATUS_SUCCESSを含む NTSTATUS を返します。 それ以外の場合、メソッドは適切なエラー コードを返します。

備考

オーディオ フィルター グラフの場合、4 つの KSSTATE 列挙値は次のように解釈されます。

価値 状態
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であり、ハードウェアがデータを生成しようとしている場合は、そのデータを破棄する必要があります。

必要条件

要件 価値
ヘッダー dmusicks.h
IRQL PASSIVE_LEVEL

関連項目

IMXF する