Правило InitFreeNull (kmdf)
Правило InitFreeNull указывает, что DDIs, получающие PWDFDEVICE_INIT в качестве параметра, не могут вызываться с помощью указателя NULL на структуру WDFDEVICE_INIT .
Предоставляемые платформой методы инициализируют структуру WDFDEVICE_INIT . Когда драйвер вызывает WdfDeviceCreate для создания объекта функционального устройства (FDO) или физического объекта устройства (PDO), метод WdfDeviceCreate присваивает первому параметру значение NULL при успешном выполнении.
Если драйвер обнаруживает ошибку при вызове метода инициализации объекта устройства или WdfDeviceCreate, драйвер должен вызвать WdfDeviceInitFree. После успешного вызова WdfDeviceInitFree необходимо задать для указателя на структуру WDFDEVICE_INITзначение NULL (PWDFDEVICE_INIT=NULL).
Модель драйвера: KMDF
Как тестировать
Во время компиляции |
---|
Запустите средство проверки статических драйверов и укажите правило InitFreeNull . Чтобы выполнить анализ кода, выполните следующие действия.
Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
Применяется к
WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice
См. также раздел
InitFreeDeviceCallbackInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType2 InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreateType4