EVT_ACX_STREAM_RUN fungsi panggilan balik (acxstreams.h)

Peristiwa EvtAcxStreamRun memberi tahu driver untuk transisi status aliran dari Jeda ke Jalankan.

Sintaks

EVT_ACX_STREAM_RUN EvtAcxStreamRun;

NTSTATUS EvtAcxStreamRun(
  ACXSTREAM Stream
)
{...}

Parameter

Stream

Objek ACXSTREAM mewakili aliran audio yang dibuat oleh sirkuit. Aliran terdiri dari daftar elemen yang dibuat berdasarkan elemen sirkuit induk. Untuk informasi selengkapnya, lihat ACX - Ringkasan Objek ACX.

Menampilkan nilai

Mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika tidak, kode kesalahan akan menampilkan kode kesalahan yang sesuai. Untuk informasi selengkapnya, lihat Menggunakan Nilai NTSTATUS.

Keterangan

AcxStream mendukung status yang berbeda. Status ini menunjukkan ketika audio mengalir (status RUN), audio tidak mengalir tetapi perangkat keras audio disiapkan (status JEDA), atau audio tidak mengalir dan perangkat keras audio tidak disiapkan (status STOP).

Peristiwa EvtAcxStreamRun akan mentransisikan status aliran dari status Jeda ke status Jalankan. Setelah aliran berada dalam status Jalankan, driver mungkin menerima peristiwa EvtAcxStreamPause untuk transisi ke status Jeda.

Peristiwa ACX dianalogikan dengan status KS seperti yang dijelaskan dalam tabel ini.

Status Mulai Status Akhir Peristiwa Driver ACX dipanggil Catatan
HENTIKAN MEMPEROLEH PrepareHardware Driver melakukan alokasi dan persiapan perangkat keras
MEMPEROLEH JEDA (Tidak Ada Panggilan)
JEDA RUN jalankan
RUN JEDA Pause
JEDA MEMPEROLEH (Tidak ada panggilan)
MEMPEROLEH HENTIKAN ReleaseHardware Driver merilis alokasi perangkat keras

Contoh

Contoh penggunaan ditunjukkan di bawah ini.

    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;
}

Persyaratan ACX

Versi ACX minimum: 1.0

Untuk informasi selengkapnya tentang versi ACX, lihat Gambaran umum versi ACX.

Persyaratan

Persyaratan Nilai
Header acxstreams.h
IRQL PASSIVE_LEVEL

Lihat juga