다음을 통해 공유


기타 규칙 집합(KMDF)

이러한 규칙을 사용하여 드라이버가 디바이스 개체, 키의 적절한 처리에 대한 일반적인 요구 사항 집합을 올바르게 따르고 드라이버가 PnP가 아닌 드라이버 또는 전원 정책 소유자가 아닌 비 FDO 드라이버에 적합하지 않은 DDI를 호출하지 않는지 확인합니다.

섹션 내용

항목 Description

AccessHardwareKey

AccessHardwareKey 규칙은 버스 드라이버가 EvtChildListCreateDevice에서 자식 디바이스의 하드웨어 키에 액세스하지 않도록 지정합니다.

AddPdotoStaticChildlist

AddPdotoStaticChildlist 규칙은 PDO 디바이스의 경우 드라이버가 WdfPdoInitAllocateWdfDeviceCreate를 성공적으로 호출한 후 프레임워크 함수 WdfFdoAddStaticChild를 호출해야 한다고 지정합니다.

ChildListConfiguration

ChildListConfiguration 규칙은 동적 열거형을 지원하는 드라이버가 WdfDeviceCreate 함수를 호출하기 전에 WdfFdoInitSetDefaultChildListConfig를 호출하도록 지정합니다.

Cleanup4CtlDeviceRegistered

Cleanup4CtlDeviceRegistered 규칙은 PnP(플러그 앤 플레이) 드라이버가 제어 디바이스 개체에 대해 WdfDeviceCreate를 호출하는 경우 드라이버가 필요한 이벤트 콜백 함수 중 하나를 등록해야 한다고 지정합니다.

NonFDONotPowerPolicyOwnerAPI

NonFDONotPowerPolicyOwnerAPI 규칙은 비 FDO 드라이버가 전원 정책 소유자가 아닌 경우 특정 DDI를 호출할 수 없음을 지정합니다.

NonPnPDrvPowerPolicyOwnerAPI

NonPnPDrvPowerPolicyOwnerAPI 규칙은 PnP가 아닌 드라이버가 전원 관리와 관련된 특정 DDI를 호출할 수 없도록 지정합니다.

UnSafeAllocatePool

UnSafeAllocatePool 규칙은 드라이버가 사용되지 않는 DPI를 사용하여 메모리를 할당하지 않는지 확인하는 중요한 보안 규칙입니다.

기타 규칙 집합을 선택하려면

  1. Microsoft Visual Studio에서 드라이버 프로젝트(.vcxProj)를 선택합니다. 드라이버 메뉴에서 정적 드라이버 검증 도구 시작...을 클릭합니다.

  2. 규칙 탭을 클릭합니다. 규칙 집합에서 기타를 선택합니다.

    Visual Studio 개발자 명령 프롬프트 창에서 기본 규칙 집합을 선택하려면 /검사 옵션을 사용하여 Miscellaneous.sdv를 지정합니다. 예를 들면 다음과 같습니다.

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

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