PdoDeviceInitAPI rule (kmdf)

The PdoDeviceInitAPI rule specifies that WdfPdoInitAllocate and all other device object initialization DDIs that set up a WDFDEVICE_INIT structure for the physical device object (PDO) must be called before the driver calls WdfDeviceCreate for the PDO.

Driver model: KMDF

How to test

At compile time

Run Static Driver Verifier and specify the PdoDeviceInitAPI rule.

Use the following steps to run an analysis of your code:
  1. Prepare your code (use role type declarations).
  2. Run Static Driver Verifier.
  3. View and analyze the results.

For more information, see Using Static Driver Verifier to Find Defects in Drivers.

Applies to

WdfDeviceCreate
WdfDeviceInitAssignName
WdfDeviceInitAssignSDDLString
WdfDeviceInitAssignWdmIrpPreprocessCallback
WdfDeviceInitRegisterPnpStateChangeCallback
WdfDeviceInitRegisterPowerPolicyStateChangeCallback
WdfDeviceInitRegisterPowerStateChangeCallback
WdfDeviceInitSetCharacteristics
WdfDeviceInitSetDeviceClass
WdfDeviceInitSetDeviceType
WdfDeviceInitSetExclusive
WdfDeviceInitSetFileObjectConfig
WdfDeviceInitSetIoInCallerContextCallback
WdfDeviceInitSetIoType
WdfDeviceInitSetPnpPowerEventCallbacks
WdfDeviceInitSetPowerInrush
WdfDeviceInitSetPowerNotPageable
WdfDeviceInitSetPowerPageable
WdfDeviceInitSetPowerPolicyEventCallbacks
WdfDeviceInitSetPowerPolicyOwnership
WdfDeviceInitSetRequestAttributes
WdfFdoRetrieveNextStaticChild
WdfPdoInitAddCompatibleID
WdfPdoInitAddDeviceText
WdfPdoInitAddHardwareID
WdfPdoInitAllocate
WdfPdoInitAssignDeviceID
WdfPdoInitAssignInstanceID
WdfPdoInitAssignRawDevice
WdfPdoInitSetDefaultLocale
WdfPdoInitSetEventCallbacks