Freigeben über


EVT_ACX_STREAM_GET_HW_LATENCY Rückruffunktion (acxstreams.h)

Das EvtAcxStreamGetHwLatency--Ereignis weist den Treiber an, die Datenstromlatenz für den spezifischen Schaltkreis dieses Datenstroms bereitzustellen (die Gesamtlatenz ist eine Summe der Latenz der verschiedenen Schaltkreise).

Syntax

EVT_ACX_STREAM_GET_HW_LATENCY EvtAcxStreamGetHwLatency;

NTSTATUS EvtAcxStreamGetHwLatency(
  ACXSTREAM Stream,
  ULONG *FifoSize,
  ULONG *Delay
)
{...}

Parameter

Stream

Ein ACXSTREAM -Objekt stellt einen Von einem Schaltkreis erstellten Audiodatenstrom dar. Der Datenstrom besteht aus einer Liste von Elementen, die basierend auf den Elementen des übergeordneten Schaltkreises erstellt wurden. Weitere Informationen finden Sie unter ACX – Zusammenfassung von ACX Objects.

FifoSize

Die FifoSize in Byte.

Delay

Die Verzögerung in 100-Nanosekundeneinheiten.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Bemerkungen

Die Beispielverwendung wird unten gezeigt.

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

ACX-Anforderungen

Mindestens ACX-Version: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header- acxstreams.h
IRQL- PASSIVE_LEVEL

Siehe auch