RegisterNotificationEvent routine

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 RegisterNotificationEvent;

typedef NTSTATUS RegisterNotificationEvent(
  _In_  PVOID context,
  _In_  HANDLE handle,
  _In_  PKEVENT notificationEvent
)
{ ... }

Parameters

context [in]

Specifies the context value from the Context member of the HDAUDIO_BUS_INTERFACE_V2 structure.

handle [in]

Handle that identifies the DMA engine. This handle value was obtained from a previous call to AllocateCaptureDmaEngine or AllocateRenderDmaEngine.

notificationEvent [in]

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

Version

Available in Windows Vista and later versions of Windows.

Header

Hdaudio.h (include Hdaudio.h)

IRQL

PASSIVE_LEVEL

See also

AllocateCaptureDmaEngine
AllocateDmaBufferWithNotification
AllocateRenderDmaEngine
HDAUDIO_BUS_INTERFACE_V2
UnregisterNotificationEvent

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft