[适用于 KMDF 和 UMDF]
驱动程序的 EvtDeviceSelfManagedIoInit 事件回调函数初始化并启动设备的自管理 I/O作。
语法
EVT_WDF_DEVICE_SELF_MANAGED_IO_INIT EvtWdfDeviceSelfManagedIoInit;
NTSTATUS EvtWdfDeviceSelfManagedIoInit(
  [in] WDFDEVICE Device
)
{...}
参数
[in] Device
框架设备对象的句柄。
返回值
如果 EvtDeviceSelfManagedIoInit 回调函数遇到错误,则它必须返回STATUS_SUCCESS,或者返回另一个状态值,NT_SUCCESS(状态)等于 TRUE。 否则,它必须返回一个状态值,NT_SUCCESS(状态)等于 FALSE。 如果NT_SUCCESS(状态)等于 FALSE,则框架不会启动设备。
如果 NT_SUCCESS(status) 等于 FALSE,则框架将调用驱动程序的 EvtDeviceSelfManagedIoFlush 和 EvtDeviceSelfManagedIoCleanup 回调函数。
有关此回调函数的返回值的详细信息,请参阅 报告设备故障。
言论
若要注册 EvtDeviceSelfManagedIoInit 回调函数,驱动程序必须调用 WdfDeviceInitSetPnpPowerEventCallbacks。
如果驱动程序注册了 EvtDeviceSelfManagedIoInit 回调函数,则框架会在框架首次调用驱动程序 EvtDeviceD0Entry 回调函数后,为每个设备调用一次。 该框架不会为该设备再次调用 EvtDeviceSelfManagedIoInit 回调函数,除非删除并重新连接设备,或重新加载驱动程序。
EvtDeviceSelfManagedIoInit 回调函数必须初始化并启动驱动程序将处理设备的自管理 I/O作。
有关框架何时调用此回调函数的详细信息,请参阅 PnP 和电源管理方案。
有关提供此回调函数的驱动程序的详细信息,请参阅 使用 Self-Managed I/O。
要求
| 要求 | 价值 | 
|---|---|
| 目标平台 | 普遍 | 
| 最低 KMDF 版本 | 1.0 | 
| 最低 UMDF 版本 | 2.0 | 
| 标头 | wdfdevice.h (包括 Wdf.h) | 
| IRQL | PASSIVE_LEVEL |