Gestione di una richiesta di IRP_MN_REMOVE_DEVICE
Il gestore PnP usa questo IRP per indirizzare i driver per rimuovere la rappresentazione software di un dispositivo (oggetti dispositivo e così via). Il gestore PnP invia questo IRP quando un dispositivo è stato rimosso in modo ordinato (ad esempio, avviato da un utente nel programma Unplug o Eject Hardware), a sorpresa (un utente estrae il dispositivo dallo slot senza preavviso) o quando l'utente richiede di aggiornare i driver.
Nei sistemi Windows 2000 e versioni successive, il gestore PnP invia questo IRP quando Gestione dispositivi disabilita il dispositivo. In Windows 98/Me, il gestore PnP invia invece arresta i runtime di integrazione. Per informazioni dettagliate, vedere Arresto di un dispositivo .
Il gestore PnP esegue le operazioni seguenti prima di inviare questo IRP ai driver per un dispositivo:
Invia IRP_MN_REMOVE_DEVICE richieste agli elementi figlio del dispositivo, se presenti.
Notifica agli eventuali componenti in modalità utente e driver in modalità kernel registrati per notificare che il dispositivo viene rimosso. Il gestore PnP chiama tutti i componenti in modalità utente registrati per la notifica del dispositivo di destinazione in un handle al dispositivo e chiama tutti i driver in modalità kernel registrati per EventCategoryTargetDeviceChange.
(Nei sistemi Windows 2000 e versioni successive) Se un file system viene montato nel dispositivo, il gestore PnP invia una richiesta di rimozione al file system e a tutti i filtri del file system. In risposta, un file system in genere smonta il volume.
Il driver principale in uno stack di dispositivi gestisce una rimozione di IRP e lo passa al driver inferiore successivo. Il driver del bus padre per un dispositivo è l'ultimo driver a eseguire le operazioni remove-device. Gli handle del driver rimuovono i provider di integrazione nella routine DispatchPnP .
Prima che un driver restituisca l'esito positivo per una richiesta di IRP_MN_REMOVE_DEVICE , deve assicurarsi che tutte le risorse per il dispositivo siano state rilasciate. Questo IRP potrebbe essere l'ultima chiamata prima che il driver venga scaricato.
La rimozione di un dispositivo può creare la necessità di rimuovere una serie di altri dispositivi. Il gestore PnP coordina la rimozione degli oggetti dispositivo aggiuntivi dal livello superiore fino al livello radice del dispositivo.
Contenuto della sezione sono descritti gli argomenti seguenti:
Rimozione di un dispositivo in un driver di funzione