다음을 통해 공유


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 규칙을 지정합니다.

다음 단계를 사용하여 코드 분석을 실행합니다.
  1. 코드를 준비합니다(역할 형식 선언 사용).
  2. 정적 드라이버 검증 도구를 실행합니다.
  3. 결과를 보고 분석합니다.

자세한 내용은 정적 드라이버 검증 도구를 사용하여 드라이버에서 결함 찾기를 참조하세요.

적용 대상

WdfDeviceCreateWdfDeviceInitAssignNameWdfDeviceInitAssignSDDLStringWdfDeviceInitAssignWdmIrpPreprocessCallbackWdfDeviceInitFreeWdfDeviceInitRegisterPnpStateChangeCallbackWdfDeviceInitRegisterPowerPolicyStateChangeCallbackWdfDeviceInitRegisterPowerStateChangeCallbackWdfPdoInitAddCompatibleIDWdfPdoInitAddDeviceTextWdfPdoInitAddHardwareIDWdfPdoInitAssignDeviceIDWdfPdoInitAssignInstanceIDWdfPdoInitAssignRawDevice

추가 정보

InitFreeDeviceCallbackInitFreeDeviceCreateInitFreeDeviceCreateType2PdoInitFreeDeviceCreateType2InitFreeDeviceCreateType4PdoInitFreeDeviceCallbackPdoInitFreeDeviceCreatePdoInitFreeDeviceCreateType4