AcxRtStreamNotifyPacketComplete 函式 (acxstreams.h)
驅動程式會在封包完成時呼叫 AcxRtStreamNotifyPacketComplete 。 封包完成時間和以 0 為基礎的封包索引包含在內,以改善用戶端效能。 ACX 架構會設定與數據流相關聯的任何通知事件。
語法
NTSTATUS AcxRtStreamNotifyPacketComplete(
ACXSTREAM Stream,
ULONGLONG CompletedPacket,
ULONGLONG QPCCompletion
);
參數
Stream
現有的 ACXSTREAM 物件。 ACXSTREAM 物件代表線路所建立的音訊數據流。 數據流是由根據父線路元素所建立的專案清單所組成。
CompletedPacket
以 0 為基礎的封包索引,指出剛完成的封包。
QPCCompletion
KeQueryPerformanceCounter 所傳回的封包完成時間。 此值應該盡可能接近實際硬體完成 (,例如,驅動程式可以從其中斷服務例程中呼叫 KeQueryPerformanceCounter) 。
傳回值
如果呼叫成功,則傳 STATUS_SUCCESS
回 。 否則,它會傳回適當的錯誤碼。 如需詳細資訊,請參閱 使用NTSTATUS值。
備註
AcxRtStreamNotifyPacketComplete 必須在 DISPATCH_LEVEL 或以下呼叫。
範例
範例使用方式如下所示。
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);
ACX 需求
最低 ACX 版本: 1.0
如需 ACX 版本的詳細資訊,請參閱 ACX 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxstreams.h |
IRQL | <= DISPATCH_LEVEL |