次の方法で共有


GUID_TARGET_DEVICE_REMOVE_CANCELLED イベントの処理

IRP_MN_QUERY_REMOVE_DEVICE 要求に失敗した場合、PnP マネージャーは、デバイスのドライバーにIRP_MN_CANCEL_REMOVE_DEVICE IRP を送信します。 取り消し/取り出し IRP が正常に完了すると、PnP マネージャーは、デバイス上の EventCategoryTargetDeviceChange に登録されたすべての通知コールバック ルーチンを呼び出します。 PnP マネージャーは、GUID_TARGET_DEVICE_REMOVE_CANCELLED の NotificationStructure.Event を指定します。

GUID_TARGET_DEVICE_REMOVE_CANCELLED イベントを処理するとき、通知コールバック ルーチンは次の操作を行う必要があります。

  • ターゲット デバイス通知の再登録。

    ドライバーはクエリ削除通知に応答して以前の登録ハンドルを閉じたため、ドライバーは新しいハンドルを開く必要があります。 ドライバーは、以下の操作を行う必要があります。

    1. IoUnregisterPlugPlayNotification で古い登録を削除します。

    2. デバイスへの新しいハンドルを開きます。

    3. IoRegisterPlugPlayNotification を使用して新しいハンドルの通知を再登録します。