RegisterNotificationEvent 方法注册要接收 DMA 驱动事件通知的事件。
语法
NTSTATUS RegisterNotificationEvent(
[in] PKEVENT NotificationEvent
);
参数
[in] NotificationEvent
指向要注册通知的内核事件的指针(PKEVENT),该事件正在进行 DMA。
返回值
如果调用成功,RegisterNotificationEvent 将返回状态值STATUS_SUCCESS。 否则,该方法将返回适当的错误状态代码。
言论
端口驱动程序调用此方法以响应来自客户端的 KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT 属性请求。 端口驱动程序将用户模式事件句柄映射到内核事件指针,并使用 NotificationEvent 参数传入指针。
通常,启用 DMA 驱动的事件通知时,DMA 硬件将编程为在循环音频缓冲区中的预期通知点生成硬件中断。 当驱动程序中断服务例程 (ISR) 检测到此中断时,它会将延迟的过程调用(DPC)排入队列。 反过来,DPC 会向每个已注册的事件发出信号。 建议在发出调用信号的事件周围使用 try/except 构造。
有关KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT属性的行为的详细信息,请参阅 KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | 在 Windows Vista 和更高版本的 Windows作系统中可用。 |
| 目标平台 | 普遍 |
| 标头 | portcls.h |
| IRQL | 被动级别。 |
另请参阅
IMiniportWaveRTStreamNotification