다음을 통해 공유


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

추가 정보