Share via


PnP ターゲット デバイス変更通知の使用

ドライバーは、デバイス上の EventCategoryTargetDeviceChange 通知に登録することで、デバイスが削除されるときにドライバーに通知できるようにします。 たとえば、ドライバーがデバイスへのハンドルを開いた場合、PnP マネージャーがデバイスを削除する必要があるときにドライバーがハンドルを閉じることができるように、デバイス上の EventCategoryTargetDeviceChange 通知に登録する必要があります。

ドライバーは、カスタム通知に EventCategoryTargetDeviceChange 通知を使用することもできます。 (PnPカスタム通知の使用を参照してください。)

重要

PnP ターゲット デバイス変更通知の登録は、ターゲット デバイスの電源状態の変更についてリスナーに通知するためのものではありません。 ドライバーがターゲット デバイスの電源変更について知る必要がある場合、ドライバーは代わりにデバイス間の電源関係を定義する必要があります。

電源関係を定義するために、ドライバーは、PowerRelations に設定された Type パラメーターを使用して IoInvalidateDeviceRelations を呼び出し、正しい情報を使用して PowerRelations に対する PnP マネージャーの IRP_MN_QUERY_DEVICE_RELATIONS クエリに応答します。

次のサブセクションでは、ターゲット デバイス変更通知に登録する方法と、PnP 通知コールバック ルーチンでターゲット デバイス変更イベントを処理する方法について説明します。

ターゲット デバイス変更の通知登録

GUID_TARGET_DEVICE_QUERY_REMOVE イベントの処理

GUID_TARGET_DEVICE_REMOVE_COMPLETE イベントの処理

GUID_TARGET_DEVICE_REMOVE_CANCELLED イベントの処理