Regra InitFreeNull (kmdf)
A regra InitFreeNull especifica que os DDIs que recebem PWDFDEVICE_INIT como parâmetro não podem ser chamados usando um ponteiro NULL para uma estrutura WDFDEVICE_INIT .
Os métodos fornecidos pela estrutura inicializam a estrutura WDFDEVICE_INIT . Quando o driver chama WdfDeviceCreate para criar um FDO (objeto de dispositivo funcional) ou um PDO (objeto de dispositivo físico), o método WdfDeviceCreate define o primeiro parâmetro como NULL se ele for bem-sucedido.
Se o driver encontrar um erro ao chamar um método de inicialização de objeto de dispositivo ou WdfDeviceCreate, o driver deverá chamar WdfDeviceInitFree. Após uma chamada bem-sucedida para WdfDeviceInitFree, você deve definir o ponteiro para a estrutura WDFDEVICE_INIT como NULL (PWDFDEVICE_INIT=NULL).
Modelo de driver: KMDF
Como testar
Em tempo de compilação |
---|
Execute o Verificador de Driver Estático e especifique a regra InitFreeNull . Use as seguintes etapas para executar uma análise do código:
Para obter mais informações, consulte Usando o verificador de driver estático para localizar defeitos em drivers. |
Aplica-se a
WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice
Confira também
InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4