Compartir a través de


EVT_ACX_STREAM_RUN función de devolución de llamada (acxstreams.h)

El evento EvtAcxStreamRun indica al controlador que realice la transición del estado de la secuencia de Pausa a Ejecución.

Sintaxis

EVT_ACX_STREAM_RUN EvtAcxStreamRun;

NTSTATUS EvtAcxStreamRun(
  ACXSTREAM Stream
)
{...}

Parámetros

Stream

Un objeto ACXSTREAM representa una secuencia de audio creada por un circuito. La secuencia se compone de una lista de elementos creados en función de los elementos del circuito primario. Para obtener más información, vea ACX - Resumen de objetos ACX.

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Using NTSTATUS Values.

Observaciones

AcxStream admite diferentes estados. Estos estados indican cuándo fluye el audio (estado RUN), el audio no fluye, pero el hardware de audio está preparado (estado PAUSE) o el audio no fluye y el hardware de audio no está preparado (estado STOP).

El evento EvtAcxStreamRun realizará la transición del estado de secuencia del estado Pausa al estado De ejecución. Una vez que la secuencia está en estado Run, el controlador puede recibir el evento EvtAcxStreamPause para realizar la transición al estado Pause.

Los eventos ACX son análogos a los estados KS, tal como se describe en esta tabla.

Estado de inicio Estado final Evento de controlador ACX llamado Notas
PARAR ADQUIRIR PrepareHardware El controlador realiza asignaciones de hardware y preparativos
ADQUIRIR PAUSA (Sin llamada)
PAUSA CORRER Correr
CORRER PAUSA Pausa
PAUSA ADQUIRIR (Sin llamada)
ADQUIRIR PARAR ReleaseHardware El controlador libera asignaciones de hardware

Ejemplo

A continuación se muestra el uso de ejemplo.

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

Requisitos de ACX

versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte introducción a la versión de ACX.

Requisitos

Requisito Valor
encabezado de acxstreams.h
irQL PASSIVE_LEVEL

Consulte también