IRP 완료

"IRP 완료"는 "드라이버 스택의 모든 멤버가 I/O 작업을 완료할 수 있도록 허용"을 의미하는 약식 구입니다. IRP가 완료된 후 I/O 관리자는 요청된 I/O 작업이 완료되었음을 시작 애플리케이션에 알합니다.

드라이버가 IRP 처리를 완료하면 IoCompleteRequest (일반적으로 DpcForIsr 루틴 내에서)를 호출합니다. 이로 인해 I/O 관리자가 상위 수준 드라이버가 IRP에 대한 IoCompletion 루틴을 설정했는지 여부를 확인합니다. 이 경우 체인의 모든 계층화된 드라이버가 IRP를 완료할 때까지 각 IoCompletion 루틴이 차례로 호출됩니다.

모든 드라이버가 IRP를 완료하면 I/O 관리자는 작업의 원래 요청자에게 상태 반환합니다. 드라이버에서 만든 IRP를 설정하는 상위 수준 드라이버는 만든 IRP를 해제하는 IoCompletion 루틴을 제공해야 합니다.

이 섹션에서는 다음 항목을 다룹니다.

IRP를 완료해야 하는 경우

디스패치 루틴에서 IRP 완료

IoCompletion 루틴 사용