IMiniportWaveRTStreamNotification::RegisterNotificationEvent 方法(portcls.h)

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

KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT

KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY