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

Send comments about this topic to Microsoft