Regola InitFreeNull (kmdf)
La regola InitFreeNull specifica che le DDI che ricevono PWDFDEVICE_INIT come parametro non possono essere chiamate tramite un puntatore NULL a una struttura WDFDEVICE_INIT .
I metodi forniti dal framework inizializzano la struttura WDFDEVICE_INIT . Quando il driver chiama WdfDeviceCreate per creare un oggetto dispositivo funzionale (FDO) o un oggetto dispositivo fisico (PDO), il metodo WdfDeviceCreate imposta il primo parametro su NULL se ha esito positivo.
Se il driver rileva un errore quando chiama un metodo di inizializzazione dell'oggetto dispositivo o WdfDeviceCreate, il driver deve chiamare WdfDeviceInitFree. Dopo la corretta chiamata a WdfDeviceInitFree, è necessario impostare il puntatore sulla struttura WDFDEVICE_INIT su NULL (PWDFDEVICE_INIT=NULL).
Modello di driver: KMDF
Come eseguire il test
In fase di compilazione |
---|
Eseguire Static Driver Verifier e specificare la regola InitFreeNull . Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
Per altre informazioni, vedere Using Static Driver Verifier to Find Defects in Drivers.For more information, see Using Static Driver Verifier to Find Defects in Drivers. |
Si applica a
WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSsignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice
Vedi anche
InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4