EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART回调函数 (wdfdevice.h)
[适用于 KMDF 和 UMDF]
驱动程序的 EvtDeviceSelfManagedIoRestart 事件回调函数重启设备的自我管理 I/O 操作。
语法
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtWdfDeviceSelfManagedIoRestart;
NTSTATUS EvtWdfDeviceSelfManagedIoRestart(
[in] WDFDEVICE Device
)
{...}
参数
[in] Device
框架设备对象的句柄。
返回值
如果 EvtDeviceSelfManagedIoRestart 回调函数未遇到任何错误,则必须返回STATUS_SUCCESS或NT_SUCCESS (状态) 等于 TRUE 的另一个状态值。 否则,它必须返回NT_SUCCESS (状态) 等于 FALSE的状态值。 如果NT_SUCCESS (状态) 等于 FALSE,框架将停止设备并卸载设备的驱动程序。
如果NT_SUCCESS (状态) 等于 FALSE,框架将调用驱动程序的 EvtDeviceSelfManagedIoFlush 和 EvtDeviceSelfManagedIoCleanup 回调函数。
有关此回调函数的返回值的详细信息,请参阅 报告设备故障。
注解
若要注册 EvtDeviceSelfManagedIoRestart 回调函数,驱动程序必须调用 WdfDeviceInitSetPnpPowerEventCallbacks。
如果驱动程序已注册 EvtDeviceSelfManagedIoRestart 回调函数,则每当设备从低功耗状态返回到其工作状态时,框架都会调用它, (D0) 状态。 框架仅在调用驱动程序的 EvtDeviceSelfManagedIoSuspend 回调函数后调用 EvtDeviceSelfManagedIoRestart 回调函数。
驱动程序的 EvtDeviceSelfManagedIoRestart 回调函数必须执行恢复设备的自我管理 I/O 操作所需的一切操作。
有关框架何时调用此回调函数的详细信息,请参阅 PnP 和电源管理方案。
有关提供此回调函数的驱动程序的详细信息,请参阅 使用 Self-Managed I/O。
EvtDeviceSelfManagedIoRestart 回调函数在 IRQL = PASSIVE_LEVEL调用。 不应使此回调函数 可分页。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
IRQL | PASSIVE_LEVEL (请参阅备注部分) |