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 |
関連項目
- acxstreams.h ヘッダー を する