Panoramica della funzionalità di dispositivo rimovibile
La funzionalità di dispositivo rimovibile è un bit (rimovibile) che i driver del bus impostati nella struttura DEVICE_CAPABILITIES in risposta al codice della funzione IRP_MN_QUERY_CAPABILITIES per un nodo del dispositivo specificato (devnode).
I driver del bus impostano la funzionalità di dispositivo rimovibile per un devnode quando devnode e tutti i relativi devnodes figlio costituiscono un dispositivo che può essere fisicamente rimosso, disconnesso o scollegato dal nodo devnode padre mentre il computer è in esecuzione. In genere, un devnode deve essere contrassegnato come rimovibile se è il nodo devnode più alto in una topologia devnode.
L'impostazione corretta della funzionalità del dispositivo rimovibile in un nodo devnode è importante. Se un driver del bus non può fornire un ID contenitore per un devnode che sta enumerando, il gestore Plug and Play (PnP) usa la funzionalità di dispositivo rimovibile per generare un ID contenitore per tutti i nodi devnodes enumerati per il dispositivo.
Si supponga, ad esempio, che un dispositivo a funzione singola, ad esempio un mouse, sia connesso al computer tramite USB. In questo caso, il driver del bus USB rileva il nuovo dispositivo, rileva che si tratta di un dispositivo HID (Human Interface Device) USB e crea un nodo di sviluppo USB HID per il dispositivo. Il nodo devnode HID rileva anche che il dispositivo HID è un mouse e crea un nodo devnode figlio per un mouse conforme a HID. A questo punto, il mouse viene installato ed è funzionante nel computer. Entrambi i nuovi devnodes usano stack di driver indipendenti.
Come regola generale, il nodo devnode superiore (padre) del dispositivo deve essere impostato come rimovibile, mentre ognuno dei relativi devnodes figlio non deve essere impostato come rimovibile. Nell'esempio precedente, il driver del bus USB imposta il bit rimovibile su TRUE per il nodo di sviluppo HID USB e imposta il bit rimovibile su FALSE per il nodo devnode del mouse conforme a HID figlio.
La schermata seguente Gestione dispositivi mostra la topologia devnode per un mouse USB generico e mostra quali devnodes del mouse sono contrassegnati come rimovibili.