Condividi tramite


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:
  1. Prepara il codice (usa dichiarazioni di tipo ruolo).
  2. Esegui Driver Verifier statico.
  3. Visualizza e analizza i risultati.

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