fonction de rappel EVT_ACX_STREAM_GET_HW_LATENCY (acxstreams.h)
L’événement EvtAcxStreamGetHwLatency indique au pilote de fournir une latence de flux pour le circuit spécifique de ce flux (la latence globale sera une somme de la latence des différents circuits).
Syntaxe
EVT_ACX_STREAM_GET_HW_LATENCY EvtAcxStreamGetHwLatency;
NTSTATUS EvtAcxStreamGetHwLatency(
ACXSTREAM Stream,
ULONG *FifoSize,
ULONG *Delay
)
{...}
Paramètres
Stream
Un objet ACXSTREAM représente un flux audio créé par un circuit. Le flux est composé d’une liste d’éléments créés en fonction des éléments du circuit parent. Pour plus d’informations, consultez ACX - Résumé des objets ACX.
FifoSize
FifoSize en octets.
Delay
Délai en unités de 100 nanosecondes.
Valeur de retour
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.
Remarques
L’exemple d’utilisation est illustré ci-dessous.
//
// 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;
}
Configuration requise pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxstreams.h |
IRQL | PASSIVE_LEVEL |