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

另請參閱