支持适用于 DMA 设备的电源管理

[仅适用于 KMDF]

DMA 启用程序对象定义一组可选的事件回调函数,DMA 设备的驱动程序可以使用这些函数来管理进入和传出设备工作 (D0) 状态的转换。

每次 DMA 设备进入其工作状态,并在框架调用驱动程序的 EvtDeviceD0Entry 回调函数后,框架将按照其列出的顺序调用以下 DMA 回调函数:

EvtDmaEnablerFill
分配设备的 DMA 缓冲区。

EvtDmaEnablerEnable
在设备进入其工作 (D0) 状态后启用设备的 DMA 功能。

EvtDmaEnablerSelfManagedIoStart
启动 DMA 设备的自我管理 I/O 操作。

每次 DMA 设备离开其工作状态时,在框架调用驱动程序的 EvtDeviceD0Exit 回调函数之前,框架会按照列出的顺序调用以下 DMA 回调函数:

EvtDmaEnablerSelfManagedIoStop
停止 DMA 设备的自托管 I/O 操作。

EvtDmaEnablerDisable
禁用设备的 DMA 功能,然后设备离开其工作 (D0) 状态。

EvtDmaEnablerFlush
解除分配设备的 DMA 缓冲区。

有关框架调用驱动程序的事件回调函数的顺序的详细信息,请参阅 PnP 和电源管理方案