다음을 통해 공유


IRP_MN_SURPRISE_REMOVAL

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

0x17

주 코드

IRP_MJ_PNP

보낸 경우

PnP 관리자는 이 IRP를 보내 디바이스를 I/O 작업에 더 이상 사용할 수 없음을 드라이버에 알립니다. 이 IRP는 Windows 2000 이상 시스템에서만 전송됩니다.

PnP 관리자는 사용자 모드 애플리케이션 또는 기타 커널 모드 구성 요소에 알리기 전에 이 IRP를 보냅니다. 이 IRP가 완료되면 PnP 관리자는 등록된 애플리케이션 및 드라이버에 디바이스가 제거되었음을 알 수 있습니다.

PnP 관리자가 이 IRP를 보낼 때 디바이스는 모든 PnP 상태일 수 있습니다.

Windows 98/Windows Me에서는 PnP 관리자가 이 IRP를 보내지 않습니다.

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

입력 매개 변수

None

출력 매개 변수

없음

I/O 상태 블록

드라이버는 Irp-IoStatus.Status>를 STATUS_SUCCESS 설정해야 합니다. 드라이버가 이 IRP에 실패하지 않아야 합니다.

작업

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

이 IRP에 대한 자세한 내용은 IRP_MN_SURPRISE_REMOVAL 요청 처리를 참조하세요. 디바이스 제거를 지원하는 방법에 대한 자세한 내용은 디바이스 제거를 참조하세요.

이 IRP 보내기

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

요구 사항

헤더

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

추가 정보

IRP_MN_REMOVE_DEVICE