PdoInitFreeDeviceCallback rule (kmdf)

The PdoInitFreeDeviceCallback rule specifies that the driver must call WdfDeviceInitFree if an error occurs when the driver calls any framework device object initialization function.

If your driver encounters an error while it initializes a new framework device object, and if the driver received the WDFDEVICE_INIT structure from a call to WdfPdoInitAllocate, the driver must call WdfDeviceInitFree.

Driver model: KMDF

How to test

At compile time

Run Static Driver Verifier and specify the PdoInitFreeDeviceCallback 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

WdfDeviceInitAssignName WdfDeviceInitAssignSDDLString WdfDeviceInitAssignWdmIrpPreprocessCallback WdfDeviceInitFree WdfDeviceInitRegisterPnpStateChangeCallback WdfDeviceInitRegisterPowerPolicyStateChangeCallback WdfDeviceInitRegisterPowerStateChangeCallback WdfPdoInitAddCompatibleID WdfPdoInitAddDeviceText WdfPdoInitAddHardwareID WdfPdoInitAllocate WdfPdoInitAssignDeviceID WdfPdoInitAssignInstanceID WdfPdoInitAssignRawDevice

See also

InitFreeDeviceCallback InitFreeDeviceCreate InitFreeDeviceCreateType2 PdoInitFreeDeviceCreateType2 InitFreeDeviceCreateType4 PdoInitFreeDeviceCreate PdoInitFreeDeviceCreateType4 InitFreeNull