Funzione AcxRtStreamNotifyPacketComplete (acxstreams.h)
Il driver chiama AcxRtStreamNotifyPacketComplete al termine di un pacchetto. Il tempo di completamento dei pacchetti e l'indice pacchetti basato su 0 sono inclusi per migliorare le prestazioni del client. Il framework ACX imposta eventuali eventi di notifica associati al flusso.
Sintassi
NTSTATUS AcxRtStreamNotifyPacketComplete(
ACXSTREAM Stream,
ULONGLONG CompletedPacket,
ULONGLONG QPCCompletion
);
Parametri
Stream
Oggetto ACXSTREAM esistente. Un oggetto ACXSTREAM rappresenta un flusso audio creato da un circuito. Il flusso è costituito da un elenco di elementi creati in base agli elementi del circuito padre.
CompletedPacket
Indice del pacchetto basato su 0 che indica il pacchetto appena completato.
QPCCompletion
Tempo di completamento del pacchetto, come restituito da KeQueryPerformanceCounter. Questo valore deve essere il più vicino possibile al completamento effettivo dell'hardware, ad esempio il driver può chiamare KeQueryPerformanceCounter dalla routine di interruzione del servizio.
Valore restituito
Restituisce STATUS_SUCCESS
se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.
Commenti
AcxRtStreamNotifyPacketComplete deve essere chiamato in DISPATCH_LEVEL o di seguito.
Esempio
Di seguito è riportato l'esempio di utilizzo.
completedPacket = (ULONG)InterlockedIncrement((LONG*)&m_CurrentPacket) - 1;
InterlockedExchange64(&m_LastPacketStart.QuadPart, m_CurrentPacketStart.QuadPart);
InterlockedExchange64(&m_CurrentPacketStart.QuadPart, QPC.QuadPart);
// Tell ACX we've completed the packet.
(void)AcxRtStreamNotifyPacketComplete(m_Stream, completedPacket, QPC.QuadPart);
Requisiti ACX
Versione minima DI ACX: 1.0
Per altre informazioni sulle versioni ACX, vedere Panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxstreams.h |
IRQL | <= DISPATCH_LEVEL |