Share via


StartIoCancel 규칙(wdm)

StartIoCancel 규칙은 드라이버가 NULL이 아닌 취소 루틴을 사용하여 IoSetCancelRoutine을 호출하기 전에 NONCancelable 매개 변수가 FALSE로 설정된 IoSetStartIoAttributes를 호출하지 않도록 지정합니다.

취소 루틴을 등록하기 전에 NonCancelable 매개 변수를 FALSE로 설정하면 취소 경합 상태가 발생할 수 있습니다.

드라이버의 취소 루틴에는 IoReleaseCancelSpinLock 호출이 포함되어야 하므로( 취소 루틴을 호출하기 전에 I/O 관리자가 획득하는 스핀 잠금을 해제하려면) StartIoCancel 규칙과 CancelSpinLock 규칙을 모두 사용하여 드라이버를 확인하는 것이 좋습니다.

드라이버 모델: WDM

테스트 방법

컴파일 시

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

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

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

적용 대상

IoSetCancelRoutineIoSetStartIoAttributes

추가 정보

CancelSpinLock