次の方法で共有


EVT_ACX_STREAM_PAUSE コールバック関数 (acxstreams.h)

EvtAcxStreamPause イベントは、ストリームの状態を Run から Pause に切り替えることをドライバーに指示します。

構文

EVT_ACX_STREAM_PAUSE EvtAcxStreamPause;

NTSTATUS EvtAcxStreamPause(
  ACXSTREAM Stream
)
{...}

パラメーター

Stream

ACXSTREAM オブジェクトは、回線によって作成されたオーディオ ストリームを表します。 ストリームは、親回線の要素に基づいて作成された要素の一覧で構成されます。 詳細については、ACX - ACX オブジェクトの概要を参照してください。

戻り値

呼び出しが成功した場合に STATUS_SUCCESS を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。

備考

AcxStream では、さまざまな状態がサポートされています。 これらの状態は、オーディオが流れている (RUN 状態)、オーディオがフローしていないが、オーディオ ハードウェアが準備されている (PAUSE 状態)、またはオーディオが流れず、オーディオ ハードウェアが準備されていない (STOP 状態) 場合を示します。

EvtAcxStreamPause イベントは、ストリームの状態を実行状態から一時停止状態に遷移します。 ストリームが一時停止状態になると、ドライバーは、EvtAcxStreamRun イベントを受け取って実行状態に遷移するか、ドライバーが停止状態に遷移する EvtAcxStreamReleaseHardware イベントを受け取ることがあります。

ACX デバイスの電源ダウンと削除中にストリームが存在する場合、ACX は EvtAcxStreamPause を呼び出してストリームを一時停止に切り替えます。 これは、スコープが設定された Stream インスタンスです。

ACX イベントは、次の表に示すように KS 状態に似ています。

開始状態 終了状態 呼び出された ACX ドライバー イベント 筆記
止める 取得する PrepareHardware ドライバーがハードウェアの割り当てと準備を実行する
取得する 休止 (通話なし)
休止 走る 走る
走る 休止 休止
休止 取得する (通話なし)
取得する 止める ReleaseHardware ドライバーがハードウェア割り当てを解放する

使用例を次に示します。

    ACX_STREAM_CALLBACKS streamCallbacks;
    ACX_STREAM_CALLBACKS_INIT(&streamCallbacks);
    streamCallbacks.EvtAcxStreamPause = EvtStreamPause;
    ...
    status = AcxStreamInitAssignAcxStreamCallbacks(StreamInit, &streamCallbacks);
#pragma code_seg("PAGE")
NTSTATUS
EvtStreamPause(
    _In_ ACXSTREAM Stream
    )
{
    PSTREAM_CONTEXT ctx;
    NTSTATUS        status = STATUS_SUCCESS;

    PAGED_CODE();

    ctx = GetStreamContext(Stream);

    status = TransitionStreamToPause(Stream);

    ctx->StreamState = AcxStreamStatePause;

    return status;
}

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、ACX バージョンの概要 参照してください。

必要条件

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

関連項目