Freigeben über


InitFreeNull-Regel (kmdf)

Die InitFreeNull-Regel gibt an, dass DDIs, die PWDFDEVICE_INIT als Parameter empfangen, nicht mithilfe eines NULL-Zeigers auf eine WDFDEVICE_INIT-Struktur aufgerufen werden können.

Die vom Framework bereitgestellten Methoden initialisieren die WDFDEVICE_INIT-Struktur . Wenn der Treiber WdfDeviceCreate aufruft, um entweder ein Funktionales Geräteobjekt (Functional Device Object, FDO) oder ein physisches Geräteobjekt (PDO) zu erstellen, legt die WdfDeviceCreate-Methode den ersten Parameter auf NULL fest, wenn dies erfolgreich ist.

Wenn beim Aufrufen einer Initialisierungsmethode des Geräteobjekts oder WdfDeviceCreate für den Treiber ein Fehler auftritt, muss der Treiber WdfDeviceInitFree aufrufen. Nach einem erfolgreichen Aufruf von WdfDeviceInitFree sollten Sie den Zeiger auf die WDFDEVICE_INIT-Struktur auf NULL (PWDFDEVICE_INIT=NULL) festlegen.

Treibermodell: KMDF

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie Static Driver Verifier aus , und geben Sie die Regel InitFreeNull an.

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Gilt für:

WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChang ECallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice

Weitere Informationen

InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4