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