PREGISTER_NOTIFICATION_EVENT callback function (hdaudio.h)
The RegisterNotificationEvent routine registers a kernel event so that it can receive DMA progress notifications.
The function pointer type for a RegisterNotificationEvent routine is defined as follows.
Syntax
PREGISTER_NOTIFICATION_EVENT PregisterNotificationEvent;
NTSTATUS PregisterNotificationEvent(
[in] PVOID _context,
[in] HANDLE Handle,
[in] PKEVENT NotificationEvent
)
{...}
Parameters
[in] _context
Specifies the context value from the Context member of the HDAUDIO_BUS_INTERFACE_V2 structure.
[in] Handle
Handle that identifies the DMA engine. This handle value was obtained from a previous call to AllocateCaptureDmaEngine or AllocateRenderDmaEngine.
[in] NotificationEvent
A pointer to a kernel event that must be notified as DMA progresses. Depending on the notification count parameter that is used with AllocateDmaBufferWithNotification, the registered event is signaled one or two times for every time that the DMA passes through the audio buffer.
Return value
RegisterNotificationEvent returns STATUS_SUCCESS if the call successfully registers the event. Otherwise, the routine returns STATUS_INSUFFICIENT_RESOURCES to indicate that there are insufficient resources that are available to complete the operation.
Remarks
RegisterNotificationEvent registers a kernel event with the HD Audio bus driver. The HD Audio bus driver maintains a list of registered notification events for each DMA engine, and signals them every time that the engine receives an IOC interrupt. Events are unregistered by using UnregisterNotificationEvent.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows Vista and later versions of Windows. |
Target Platform | Desktop |
Header | hdaudio.h (include Hdaudio.h) |
IRQL | PASSIVE_LEVEL |