다음을 통해 공유


IRQL 규칙 집합(KMDF)

이러한 규칙을 사용하여 드라이버가 필요한 IRQL에서 DDI 호출을 만드는지 확인합니다.

IRQL 규칙을 따르지 않는 드라이버는 작업 중에 심각한 문제를 일으킬 수 있으며 이로 인해 교착 상태 또는 컴퓨터 충돌이 발생할 수 있습니다.

섹션 내용

항목 Description

KmdfIrql

KmdfIrql 규칙은 드라이버가 해당 메서드의 최대 IRQL보다 작거나 같은 IRQL에서 프레임워크 메서드를 호출하도록 지정합니다.

KmdfIrql2

KmdfIrql2 규칙은 드라이버가 해당 메서드의 최대 IRQL보다 작거나 같은 IRQL에서 프레임워크 메서드를 호출하도록 지정합니다.

UsbKmdfIrql

UsbKmdfIrql 규칙은 KMDF 드라이버가 잘못된 IRQL 수준에서 USB 관련 DDI(디바이스 드라이버 인터페이스)를 호출하지 않도록 지정합니다.

UsbKmdfIrql2

UsbKmdfIrql2 규칙은 KMDF 드라이버가 잘못된 IRQL 수준에서 USB 관련 DDI를 호출하지 않도록 지정합니다.

UsbKmdfIrqlExplicit

UsbKmdfIrqlExplicit 규칙은 KMDF DDI가 올바른 IRQL 수준에서 호출되는지 확인합니다. 이 규칙은 모든 EvtIoCallback 함수에 적용됩니다.

WdfRequestSendSyncAtDispatch

WdfRequestSendSyncAtDispatch 규칙은 WdfRequestSend 함수가 올바른 IRQL 우선 순위 수준에서 전송되었는지 확인합니다.

WdfRequestSendSyncAtDispatch2

WdfRequestSendSyncAtDispatch2 규칙은 WdfRequestSend 함수가 올바른 IRQL 우선 순위 수준에서 전송되었는지 확인합니다.

Irql 규칙 집합을 선택하려면

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

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

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

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

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