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 |