InitFreeNull 규칙(kmdf)
InitFreeNull 규칙은 WDFDEVICE_INIT 구조체에 대한 NULL 포인터를 사용하여 PWDFDEVICE_INIT 매개 변수로 수신하는 DDI를 호출할 수 없도록 지정합니다.
프레임워크 제공 메서드는 WDFDEVICE_INIT 구조를 초기화합니다. 드라이버가 WdfDeviceCreate 를 호출하여 FDO(기능 디바이스 개체) 또는 PDO(물리적 디바이스 개체)를 만들 때 WdfDeviceCreate 메서드는 성공하면 첫 번째 매개 변수를 NULL 로 설정합니다.
드라이버가 디바이스 개체 초기화 메서드 또는 WdfDeviceCreate를 호출할 때 오류가 발생하는 경우 드라이버는 WdfDeviceInitFree를 호출해야 합니다. WdfDeviceInitFree를 성공적으로 호출한 후에 는 WDFDEVICE_INIT 구조체에 대한 포인터를 NULL (PWDFDEVICE_INIT=NULL)로 설정해야 합니다.
드라이버 모델: KMDF
테스트 방법
컴파일 시 |
---|
정적 드라이버 검증 도구를 실행하고 InitFreeNull 규칙을 지정합니다. 다음 단계를 사용하여 코드 분석을 실행합니다. |
적용 대상
WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice
추가 정보
InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4