Правило 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по