IMiniportWaveRTStreamNotification::RegisterNotificationEvent method (portcls.h)

The RegisterNotificationEvent method registers an event to be notified for DMA-driven event notification.

Syntax

NTSTATUS RegisterNotificationEvent(
  [in] PKEVENT NotificationEvent
);

Parameters

[in] NotificationEvent

A pointer to a kernel event (PKEVENT) to be registered for notification as DMA progresses.

Return value

RegisterNotificationEvent returns a status value of STATUS_SUCCESS if the call was successful. Otherwise, the method returns an appropriate error status code.

Remarks

The port driver calls this method in response to a KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT property request from a client. The port driver maps the user-mode event handle to a kernel event pointer and passes the pointer in with the NotificationEvent parameter.

Typically, when DMA-driven event notification is enabled, the DMA hardware is programmed to generate hardware interrupts at the intended notification points in the cyclic audio buffer. When the driver interrupt service routine (ISR) detects this interrupt, it queues a deferred procedure call (DPC). The DPC, in turn, signals each registered event. We recommend using a try/except construct around the event that signals the call.

For more information about the behavior of the KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT property, see the KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista and later Windows operating systems.
Target Platform Universal
Header portcls.h
IRQL Passive level.

See also

IMiniportWaveRTStreamNotification

KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT

KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY