次の方法で共有


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

関連項目