IRP_MN_CANCEL_STOP_DEVICE

모든 PnP 드라이버는 이 IRP를 처리해야 합니다.

0x06

주 코드

IRP_MJ_PNP

보낸 경우

PnP 관리자는 IRP_MN_QUERY_STOP_DEVICE 후 어느 시점에 이 IRP를 전송하여 디바이스가 비활성화되지 않거나(Windows 98/나만 해당) 리소스 재구성을 위해 중지되지 않음을 디바이스에 대해 드라이버에 알릴 수 있습니다.

PnP 관리자는 시스템 스레드의 컨텍스트에서 IRQL PASSIVE_LEVEL 이 IRP를 보냅니다.

입력 매개 변수

None

출력 매개 변수

없음

I/O 상태 블록

드라이버는 이 IRP에 대해 Irp-IoStatus.Status>를 STATUS_SUCCESS 설정해야 합니다. 드라이버가 이 IRP에 실패하면 디바이스가 일관되지 않은 상태로 남습니다.

작업

이 IRP는 먼저 디바이스에 대한 부모 버스 드라이버에 의해 처리된 다음 디바이스 스택의 각 상위 드라이버에 의해 처리되어야 합니다.

이 IRP에 대한 응답으로 드라이버는 디바이스를 시작 상태로 반환합니다. 드라이버는 디바이스가 중지 보류 중 상태인 동안 유지된 모든 IRP를 시작합니다.

드라이버가 이 IRP를 수신할 때 디바이스가 이미 활성 상태인 경우 함수 또는 필터 드라이버는 단순히 상태 성공으로 설정하고 IRP를 다음 드라이버에 전달합니다. 부모 버스 드라이버는 IRP를 완료합니다. 이러한 취소 중지 IRP의 경우 함수 또는 필터 드라이버가 완료 루틴을 설정할 필요가 없습니다.

중지 IRP 처리에 대한 자세한 내용과 모든 플러그 앤 플레이 사소한 IRP를 처리하기 위한 일반적인 규칙은 플러그 앤 플레이 참조하세요.

이 IRP 보내기

시스템에서 사용하도록 예약되었습니다. 드라이버는 이 IRP를 보내지 않아야 합니다.

요구 사항

헤더

Wdm.h(Wdm.h, Ntddk.h 또는 Ntifs.h 포함)

추가 정보

IRP_MN_QUERY_STOP_DEVICE