EVT_ACX_STREAM_RUN コールバック関数 (acxstreams.h)
EvtAcxStreamRun イベントは、ストリームの状態を一時停止から実行に切り替えることをドライバーに指示します。
構文
EVT_ACX_STREAM_RUN EvtAcxStreamRun;
NTSTATUS EvtAcxStreamRun(
ACXSTREAM Stream
)
{...}
パラメーター
Stream
ACXSTREAM オブジェクトは、回線によって作成されたオーディオ ストリームを表します。 ストリームは、親回線の要素に基づいて作成された要素の一覧で構成されます。 詳細については、ACX - ACX オブジェクトの概要を参照してください。
戻り値
呼び出しが成功した場合に STATUS_SUCCESS
を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。
備考
AcxStream では、さまざまな状態がサポートされています。 これらの状態は、オーディオが流れている (RUN 状態)、オーディオがフローしていないが、オーディオ ハードウェアが準備されている (PAUSE 状態)、またはオーディオが流れず、オーディオ ハードウェアが準備されていない (STOP 状態) 場合を示します。
EvtAcxStreamRun イベントは、ストリームの状態を一時停止状態から実行状態に遷移します。 ストリームが実行状態になると、ドライバーは、EvtAcxStreamPause イベントを受け取って Pause 状態に遷移することがあります。
ACX イベントは、次の表に示すように KS 状態に似ています。
開始状態 | 終了状態 | 呼び出された ACX ドライバー イベント | 筆記 |
---|---|---|---|
止める | 取得する | PrepareHardware | ドライバーがハードウェアの割り当てと準備を実行する |
取得する | 休止 | (通話なし) | |
休止 | 走る | 走る | |
走る | 休止 | 休止 | |
休止 | 取得する | (通話なし) | |
取得する | 止める | ReleaseHardware | ドライバーがハードウェア割り当てを解放する |
例
使用例を次に示します。
ACX_STREAM_CALLBACKS streamCallbacks;
ACX_STREAM_CALLBACKS_INIT(&streamCallbacks);
streamCallbacks.EvtAcxStreamRun = EvtStreamRun;
...
status = AcxStreamInitAssignAcxStreamCallbacks(StreamInit, &streamCallbacks);
_Use_decl_annotations_
PAGED_CODE_SEG
NTSTATUS
EvtStreamRun(
_In_ ACXSTREAM Stream
)
{
PSTREAM_CONTEXT ctx;
NTSTATUS status;
PAGED_CODE();
ctx = GetStreamContext(Stream);
status = TransitionStreamToRun(Stream);
if (NT_SUCCESS(status))
{
ctx->StreamState = AcxStreamStateRun;
}
return status;
}
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、ACX バージョンの概要 参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | acxstreams.h |
IRQL | PASSIVE_LEVEL |
関連項目
- acxstreams.h ヘッダー を する
- EVT_ACX_STREAM_PREPARE_HARDWARE
- EVT_ACX_STREAM_PAUSE_HARDWARE
- EVT_ACX_STREAM_RELEASE_HARDWARE