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 バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxstreams.h |
IRQL | <= DISPATCH_LEVEL |