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 |