Condividi tramite


IRP_MN_CANCEL_REMOVE_DEVICE

Tutti i driver PnP devono gestire questo IRP.

Valore

0x03

Codice principale

IRP_MJ_PNP

Data di invio

Il gestore PnP invia questo IRP per informare i driver per un dispositivo che il dispositivo non verrà rimosso.

Il gestore PnP invia l'IRP in IRQL PASSIVE_LEVEL nel contesto di un thread di sistema.

Parametri di input

Nessuno

Parametri di output

Nessuno

Blocco dello stato I/O

Un driver deve impostare Irp-IoStatus.Status> su STATUS_SUCCESS per questo IRP. Se un driver ha esito negativo, il dispositivo viene lasciato in uno stato incoerente.

Operazione

Questa IRP deve essere gestita prima dal driver del bus padre per un dispositivo e quindi da ogni driver superiore nello stack di dispositivi.

In risposta a questa IRP, i driver restituiscono il dispositivo allo stato in cui è stato eseguito prima di ricevere la richiesta di IRP_MN_QUERY_REMOVE_DEVICE .

Se il dispositivo viene già avviato quando il driver riceve questa IRP, il driver imposta semplicemente lo stato sull'esito positivo e passa l'IRP al driver successivo (o completa l'IRP se il driver è un driver del bus). Per un'operazione di annullamento di annullamento, un driver di filtro o funzione non deve impostare una routine di completamento. Il dispositivo potrebbe non trovarsi nello stato di rimozione in sospeso, perché, ad esempio, il driver ha avuto esito negativo nel IRP_MN_QUERY_REMOVE_DEVICE precedente.

Il gestore PnP chiama eventuali callback di notifica EventCategoryTargetDeviceChange con GUID_TARGET_DEVICE_REMOVE_CANCELLED dopo il completamento della richiesta di IRP_MN_CANCEL_REMOVE_DEVICE . Tali callback sono stati registrati nel dispositivo chiamando IoRegisterPlugPlayNotification. Gestione PnP chiama anche tutti i componenti in modalità utente registrati per la notifica nel dispositivo chiamando RegisterDeviceNotification.

Se un file system viene montato sul dispositivo, deve annullare le operazioni eseguite in risposta alla notifica di rimozione delle query.

Vedere Plug and Play per informazioni dettagliate sulla gestione degli INDIRIZZI DI accesso e sulle regole generali per la gestione di tutti gli IRP secondari Plug and Play.

Invio di questo IRP

Riservato per l'utilizzo nel sistema. I driver non devono inviare questo IRP.

Requisiti

Intestazione

Wdm.h (include Wdm.h, Ntddk.h o Ntifs.h)

Vedi anche

IoRegisterPlugPlayNotification

IRP_MN_QUERY_REMOVE_DEVICE