Règle InitFreeNull (kmdf)

La règle InitFreeNull spécifie que les DDIs recevant des PWDFDEVICE_INIT en tant que paramètre ne peuvent pas être appelées à l’aide d’un pointeur NULL vers une structure WDFDEVICE_INIT .

Les méthodes fournies par l’infrastructure initialisent la structure WDFDEVICE_INIT . Lorsque le pilote appelle WdfDeviceCreate pour créer un objet d’appareil fonctionnel (FDO) ou un objet d’appareil physique (PDO), la méthode WdfDeviceCreate définit le premier paramètre sur NULL s’il réussit.

Si le pilote rencontre une erreur lorsqu’il appelle une méthode d’initialisation d’objet de périphérique ou WdfDeviceCreate, le pilote doit appeler WdfDeviceInitFree. Après un appel réussi à WdfDeviceInitFree, vous devez définir le pointeur vers la structure WDFDEVICE_INIT sur NULL (PWDFDEVICE_INIT=NULL).

Modèle de pilote : KMDF

Comment tester

Au moment de la compilation

Exécutez Static Driver Verifier et spécifiez la règle InitFreeNull .

Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
  1. Préparez votre code (utilisez les déclarations de type).
  2. Exécutez le vérificateur de pilote statique.
  3. Affichez et analysez les résultats.

Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes.

S’applique à

WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice

Voir aussi

InitFreeDeviceCallbackinitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4