Información general sobre la funcionalidad del dispositivo extraíble
La funcionalidad del dispositivo extraíble es un bit (extraíble) que los controladores de bus establecen en la estructura DEVICE_CAPABILITIES en respuesta al código de función de IRP_MN_QUERY_CAPABILITIES para un nodo de dispositivo especificado (devnode).
Los controladores de bus establecen la funcionalidad de dispositivo extraíble para un nodo de desarrollo cuando el devnode y todos sus nodos de desarrollo secundarios componen un dispositivo que se puede quitar, desconectar o desconectar físicamente de su devnode primario mientras se ejecuta el equipo. Normalmente, un devnode debe marcarse como extraíble si es el nodo dev más alto de una topología devnode.
Es importante establecer correctamente la funcionalidad del dispositivo extraíble en un nodo de desarrollo. Si un controlador de bus no puede proporcionar un identificador de contenedor para un nodo de desarrollo que está enumerando, el administrador de Plug and Play (PnP) usa la funcionalidad del dispositivo extraíble para generar un identificador de contenedor para todos los nodos de desarrollo enumerados para el dispositivo.
Por ejemplo, supongamos que un dispositivo de una sola función, como un mouse, está conectado al equipo a través de USB. En este caso, el controlador de bus USB detecta el nuevo dispositivo, detecta que es un dispositivo de interfaz humana (HID) USB y crea un nodo de desarrollo DE HID USB para el dispositivo. El devnode HID también detecta que el dispositivo HID es un mouse y crea un nodo de desarrollo secundario para un mouse compatible con HID. En este momento, el mouse está instalado y es funcional en el equipo. Ambos de los nuevos nodos de desarrollo usan pilas de controladores independientes.
Como regla general, el nodo de desarrollo más alto (primario) del dispositivo debe establecerse como extraíble, mientras que cada uno de sus nodos de desarrollo secundarios no debe establecerse como extraíble. En el ejemplo anterior, el controlador de bus USB establece el bit extraíble en TRUE para el nodo devnode USB HID y establece el bit extraíble en FALSE para el nodo de desarrollo del mouse compatible con HID secundario.
La siguiente captura de pantalla de Administrador de dispositivos muestra la topología devnode para un mouse USB genérico y muestra qué nodos de desarrollo del mouse se marcan como extraíbles.