EVT_ACX_STREAM_GET_HW_LATENCY función de devolución de llamada (acxstreams.h)
El evento EvtAcxStreamGetHwLatency indica al controlador que proporcione latencia de flujo para el circuito específico de esta secuencia (la latencia total será una suma de la latencia de los distintos circuitos).
EVT_ACX_STREAM_GET_HW_LATENCY EvtAcxStreamGetHwLatency;
NTSTATUS EvtAcxStreamGetHwLatency(
ACXSTREAM Stream,
ULONG *FifoSize,
ULONG *Delay
)
{...}
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.
FifoSize
FifoSize en bytes.
Delay
Retraso en unidades de 100 nanosegundos.
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 Uso de valores NTSTATUS.
A continuación se muestra el uso de ejemplo.
//
// Init streaming callbacks.
//
ACX_RT_STREAM_CALLBACKS rtCallbacks;
ACX_RT_STREAM_CALLBACKS_INIT(&rtCallbacks);
rtCallbacks.EvtAcxStreamGetHwLatency = EvtStreamGetHwLatency;
status = AcxStreamInitAssignAcxRtStreamCallbacks(StreamInit, &rtCallbacks));
PAGED_CODE_SEG
NTSTATUS
EvtStreamGetHwLatency(
_In_ ACXSTREAM Stream,
_Out_ ULONG * FifoSize,
_Out_ ULONG * Delay
)
{
PSTREAM_CONTEXT ctx;
PAGED_CODE();
ctx = GetStreamContext(Stream);
*FifoSize = ctx->DmaFifoSize;
*Delay = ctx->ChipsetDelay + ctx->CodecDelay;
return STATUS_SUCCESS;
}
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.
Requisito | Valor |
---|---|
Header | acxstreams.h |
IRQL | PASSIVE_LEVEL |