다음을 통해 공유


PREGISTER_NOTIFICATION_EVENT 콜백 함수(hdaudio.h)

RegisterNotificationEvent 루틴은 DMA 진행률 알림을 받을 수 있도록 커널 이벤트를 등록합니다.

RegisterNotificationEvent 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.

통사론

PREGISTER_NOTIFICATION_EVENT PregisterNotificationEvent;

NTSTATUS PregisterNotificationEvent(
  [in] PVOID _context,
  [in] HANDLE Handle,
  [in] PKEVENT NotificationEvent
)
{...}

매개 변수

[in] _context

HDAUDIO_BUS_INTERFACE_V2 구조체의 Context 멤버에서 컨텍스트 값을 지정합니다.

[in] Handle

DMA 엔진을 식별하는 핸들입니다. 이 핸들 값은 AllocateCaptureDmaEngine 또는 AllocateRenderDmaEngine 이전 호출에서 가져옵니다.

[in] NotificationEvent

DMA가 진행됨에 따라 알림을 받아야 하는 커널 이벤트에 대한 포인터입니다. AllocateDmaBufferWithNotification사용하는 알림 수 매개 변수에 따라 등록된 이벤트는 DMA가 오디오 버퍼를 통과할 때마다 한두 번 신호를 받습니다.

반환 값

RegisterNotificationEvent 호출이 이벤트를 성공적으로 등록하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 루틴이 STATUS_INSUFFICIENT_RESOURCES 반환하여 작업을 완료하는 데 사용할 수 있는 리소스가 부족함을 나타냅니다.

발언

RegisterNotificationEvent HD Audio Bus 드라이버에 커널 이벤트를 등록합니다. HD 오디오 버스 드라이버는 각 DMA 엔진에 대해 등록된 알림 이벤트 목록을 유지 관리하고 엔진이 IOC 인터럽트를 받을 때마다 신호를 받습니다. UnregisterNotificationEvent사용하여 이벤트를 등록 취소합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 바탕 화면
헤더 hdaudio.h(Hdaudio.h 포함)
IRQL PASSIVE_LEVEL

참고 항목

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2

unregisterNotificationEvent