Regla InitFreeNull (kmdf)
La regla InitFreeNull especifica que las DDIs que reciben PWDFDEVICE_INIT como parámetro no se pueden llamar mediante un puntero NULL a una estructura de WDFDEVICE_INIT .
Los métodos proporcionados por el marco inicializan la estructura WDFDEVICE_INIT . Cuando el controlador llama a WdfDeviceCreate para crear un objeto de dispositivo funcional (FDO) o un objeto de dispositivo físico (PDO), el método WdfDeviceCreate establece el primer parámetro en NULL si se ejecuta correctamente.
Si el controlador encuentra un error cuando llama a un método de inicialización de objeto de dispositivo o WdfDeviceCreate, el controlador debe llamar a WdfDeviceInitFree. Después de una llamada correcta a WdfDeviceInitFree, debe establecer el puntero en la estructura WDFDEVICE_INIT en NULL (PWDFDEVICE_INIT=NULL).
Modelo de controlador: KMDF
Cómo probar
En tiempo de compilación |
---|
Ejecute el Comprobador de controladores estáticos y especifique la regla InitFreeNull . Usa los pasos siguientes para ejecutar un análisis de tu código:
Para obtener más información, vea Usar comprobador de controladores estáticos para buscar defectos en controladores. |
Se aplica a
WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangECallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice
Consulte también
InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4