MarkingInterlockedQueuedIrps 규칙(wdm)

MarkingInterlockedQueuedIrps 규칙은 드라이버가 추가 처리를 위해 연동된 방식으로 큐에 대기하기 전에 IRP를 보류 중으로 올바르게 표시한다고 지정합니다.

또한 이 규칙은 드라이버가 IoMarkIrpPending을 호출하고 IRP를 보류 중으로 올바르게 표시한 후 다음 함수를 호출하여 IRP를 인터록된 큐에 추가하도록 지정합니다.

드라이버는 상호 잠긴 큐에 더 많은 처리가 필요한 IRP를 추가하기 전에 IoMarkIrpPending 을 호출해야 합니다. 그렇지 않으면 IRP가 큐에서 해제되고, 다른 드라이버 루틴에서 완료되고, IoMarkIrpPending 호출이 발생하기 전에 시스템에서 해제되어 충돌이 발생할 수 있습니다.

자세한 내용은 IRP 취소 동기화를 참조하세요.

드라이버 모델: WDM

테스트 방법

컴파일 시

정적 드라이버 검증 도구 를 실행하고 MarkingInterlockedQueuedIrps 규칙을 지정합니다.

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

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

적용 대상

ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList

추가 정보

MarkIrpPending동기화 IRP 취소