DeviceInitAPI 规则 (kmdf)

对于 FDO 设备,必须先调用框架设备对象初始化方法和框架 FDO 初始化方法,然后驱动程序才能为设备对象调用 WdfDeviceCreate 方法。

对于 FDO 设备,在驱动程序为框架设备对象调用 WdfDeviceCreate 后,无法调用框架设备对象初始化方法和框架 FDO 初始化方法(将信息存储在WDFDEVICE_INIT结构中)。

驱动程序模型:KMDF

如何测试

编译时

运行 静态驱动程序验证程序 并指定 DeviceInitAPI 规则。

使用以下步骤运行代码分析:
  1. 准备代码 (使用角色类型声明) 。
  2. 运行静态驱动程序验证程序。
  3. 查看和分析结果。

有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷

适用于

WdfDeviceCreate
WdfDeviceInitAssignName
WdfDeviceInitAssignSDDLString
WdfDeviceInitAssignWdmIrpPreprocessCallback
WdfDeviceInitRegisterPnpStateChangeCallback
WdfDeviceInitRegisterPowerPolicyStateChangeCallback
WdfDeviceInitRegisterPowerStateChangeCallback
WdfDeviceInitSetCharacteristics
WdfDeviceInitSetDeviceClass
WdfDeviceInitSetDeviceType
WdfDeviceInitSetExclusive
WdfDeviceInitSetFileObjectConfig
WdfDeviceInitSetIoInCallerContextCallback
WdfDeviceInitSetIoType
WdfDeviceInitSetPnpPowerEventCallbacks
WdfDeviceInitSetPowerInrush
WdfDeviceInitSetPowerNotPageable
WdfDeviceInitSetPowerPageable
WdfDeviceInitSetPowerPolicyEventCallbacks
WdfDeviceInitSetPowerPolicyOwnership
WdfDeviceInitSetRequestAttributes
WdfFdoInitAllocAndQueryProperty
WdfFdoInitOpenRegistryKey
WdfFdoInitQueryProperty
WdfFdoInitSetDefaultChildListConfig
WdfFdoInitSetEventCallbacks
WdfFdoInitSetFilter
WdfFdoInitWdmGetPhysicalDevice