IRP_MN_SURPRISE_REMOVAL

すべての PnP ドライバーは、この IRP を処理する必要があります。

0x17

主要なコード

IRP_MJ_PNP

送信時

PnP マネージャーは、デバイスが I/O 操作で使用できなくなったことをデバイスのドライバーに通知するために、この IRP を送信します。 この IRP は、Windows 2000 以降のシステムでのみ送信されます。

PnP マネージャーは、ユーザー モード アプリケーションまたは他のカーネル モード コンポーネントに通知する前に、この IRP を送信します。 この IRP が完了すると、PnP マネージャーは、デバイスが削除されたことを登録済みのアプリケーションとドライバーに通知します。

デバイスがどの PnP 状態であっても、PnP マネージャーはこの IRP を送信することができます。

Windows 98/Windows Me では、PnP マネージャーはこの IRP を送信しません。

PnP マネージャーは、システム スレッドのコンテキストで、IRQL = PASSIVE_LEVEL でこの IRP を送信します。

入力パラメーター

なし

出力パラメーター

なし

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