IRP_MN_QUERY_STOP_DEVICE

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

0x05

주 코드

IRP_MJ_PNP

보낸 경우

PnP 관리자는 이 IRP를 보내 리소스의 균형을 조정하기 위해 디바이스를 중지할 수 있는지 여부를 쿼리합니다.

Windows 98/Me에서 PnP 관리자는 디바이스가 비활성화될 때 이 IRP도 보냅니다.

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

입력 매개 변수

None

출력 매개 변수

없음

I/O 상태 블록

드라이버는 Irp-IoStatus.Status>를 STATUS_SUCCESS 또는 적절한 오류 상태 설정합니다. 드라이버가 디바이스를 중지할 수 없는 경우 드라이버는 Irp-IoStatus.Status>를 STATUS_UNSUCCESSFUL 설정합니다.

버스 드라이버는 Irp-IoStatus.Status>를 STATUS_RESOURCE_REQUIREMENTS_CHANGED 설정하여 IRP에 대한 성공을 나타내고 PnP 관리자가 중지 IRP를 보내기 전에 디바이스에 대한 리소스 요구 사항을 다시 쿼리하도록 요청할 수도 있습니다.

작업

이 IRP는 먼저 디바이스 스택의 맨 위에 있는 드라이버에 의해 처리된 다음 스택의 각 하위 드라이버로 전달됩니다.

이 IRP에 대한 응답으로 드라이버는 리소스 리밸런싱을 위해 디바이스를 중지하는 것이 안전한지 여부를 나타냅니다.

플러그 앤 플레이부 IRP를 처리하기 위한 일반 규칙은 플러그 앤 플레이 참조하세요.

이 IRP 보내기

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

요구 사항

헤더

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

추가 정보

IRP_MN_CANCEL_STOP_DEVICE

IRP_MN_DEVICE_USAGE_NOTIFICATION

IRP_MN_START_DEVICE

IRP_MN_STOP_DEVICE