Compartir a través de


Identificadores de contenedor generados a partir de una invalidación de funcionalidad de dispositivo extraíble

A partir de Windows 7, los nuevos dispositivos deben proporcionar un identificador único específico del bus (como se describe en Identificadores de contenedor generados a partir de un identificador único de Bus-Specific).

Como alternativa, los dispositivos y los controladores de autobús deben establecer correctamente la funcionalidad del dispositivo extraíble (como se describe en Identificadores de contenedor generados a partir de la funcionalidad dispositivo extraíble). Para obtener más información sobre la funcionalidad del dispositivo extraíble, consulte Información general sobre la funcionalidad de dispositivo extraíble.

Windows 7 y versiones posteriores de Windows también admiten un mecanismo para invalidar la funcionalidad del dispositivo extraíble notificada. Este mecanismo es útil para los dispositivos heredados que notifican la funcionalidad del dispositivo extraíble incorrectamente.

Aunque el mecanismo de invalidación no cambia el valor de la funcionalidad del dispositivo extraíble, obliga al administrador de PnP a usar la configuración de invalidación y no al valor de la funcionalidad del dispositivo extraíble al generar identificadores de contenedor para dispositivos.

A través de este mecanismo de invalidación, se puede generar un identificador de contenedor a través de un método basado en el registro. En cuanto se genera el identificador de contenedor para el nodo de dispositivo superior (primario) (devnode) de un dispositivo, cada nodo de desarrollo secundario del dispositivo hereda el mismo identificador de contenedor a través de la heurística descrita en Identificadores de contenedor generados desde la funcionalidad dispositivo extraíble.

El mecanismo de invalidación es una tabla de búsqueda basada en el Registro que consta de claves del Registro que se asignan a dispositivos específicos. Esta tabla de invalidación se mantiene en la clave del Registro DeviceOverrides y consta de las siguientes claves y subclaves del Registro.

Nivel de tabla Clave del Registro/nombre de subclave Descripción

1

DeviceOverrides

Clave primaria para todas las invalidaciones de funcionalidad del dispositivo extraíble.

2

HardwareID

Especifica el identificador de hardware de un dispositivo al que se aplica la invalidación de la funcionalidad del dispositivo extraíble.

El nombre de esta subclave es el identificador de hardware real, con todos los caracteres de barra diagonal inversa ('') reemplazados por caracteres numéricos ('#').

2

CompatibleID

Especifica el identificador compatible de un dispositivo al que se aplica la invalidación de la funcionalidad del dispositivo extraíble.

El nombre de esta subclave es el identificador de hardware real, con todos los caracteres de barra diagonal inversa ('') reemplazados por caracteres numéricos ('#').

3

LocationPaths

Especifica que solo se aplicará la ruta de acceso de ubicación del nodo de dispositivo primario (nodo devnode) del dispositivo extraíble.

3

ChildLocationPaths

Especifica que la ruta de acceso de ubicación de los nodos secundarios del dispositivo tendrá aplicada la invalidación de la funcionalidad del dispositivo extraíble.

Nota El nodo primario del dispositivo especificado no se ve afectado por la invalidación de la funcionalidad del dispositivo extraíble, a menos que también se especifique una subclave del Registro LocationPaths o se especifique una subclave del Registro ChildLocationPaths para el nodo primario.

4

LocationPath

Especifica la ruta de acceso de ubicación discreta del nodo de desarrollo al que se aplica la invalidación de la funcionalidad del dispositivo extraíble.

El nombre de esta subclave es la ruta de acceso de ubicación real para una única instancia de devnode de un dispositivo instalado en el equipo.

4

*

Especifica que la invalidación de la funcionalidad del dispositivo extraíble se aplica a todos los devnodes para el dispositivo especificado.

Dentro de las subclaves LocationPath y * del Registro, un valor DWORD (extraíble) especifica si los nodos devnodes aplicables se consideran extraíbles (1) o no extraíbles (0).

Ejemplo 1

A continuación se muestra una invalidación de dispositivo para un devnode que coincide con una subclave del Registro HardwareID , además de una ruta de acceso de ubicación especificada a través de la subclave del Registro LocationPaths .

En este ejemplo, la invalidación deshabilitará la funcionalidad del dispositivo extraíble y se aplicará a todos los devnodes que tengan un identificador de hardware de USB\VID_1234&PID_5678 en la ruta de acceso de ubicación PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1).

A continuación se muestra un ejemplo del formato de tabla del Registro para esta invalidación.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceOverrides
    USB#VID_1234&PID_5678
        LocationPaths
            PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1)
                Removable=0

En este ejemplo, USB#VID_1234&PID_5678 es el nombre de la subclave del Registro HardwareID y PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1) es el nombre de la subclave del Registro LocationPath .

Esta invalidación cambia la interpretación del administrador de Plug and Play (PnP) de la topología del dispositivo. Observe que el devnode con un valor de id. de hardware de USB\VID_1234&PID_5678 se marcó como no extraíble en el registro. No se genera un nuevo identificador de contenedor para este nodo de desarrollo, porque el administrador de PnP interpreta el devnode como no extraíble de su elemento primario. En su lugar, USB\VID_1234&PID_5678 (y todos sus elementos secundarios) heredan el identificador de contenedor (ContainerID {A}) de su elemento primario.

El resultado de esta invalidación es una agrupación de dispositivos único porque todos los devnodes del árbol tienen el mismo identificador de contenedor. El dispositivo USB\VID_1234&PID_5678 se interpreta como integrado con el equipo.

En el diagrama siguiente se muestra la topología de dispositivo resultante y la asignación de identificador de contenedor asociada.

diagrama que ilustra la invalidación de la funcionalidad del dispositivo extraíble que marca un nodo de desarrollo como no extraíble.

En el ejemplo anterior se muestra una topología de nodo devnode frecuente: equipos portátiles con dispositivos enlazados a ubicaciones de bus específicas que se notifican incorrectamente como extraíbles. Los dispositivos que están integrados físicamente con un equipo, como una cámara web o un sensor biométrico (huella digital), no deben notificarse como extraíbles porque un usuario no puede separarlos físicamente del equipo. La invalidación extraíble permite a un proveedor de hardware independiente (IHV) o fabricante de equipos originales (OEM) cambiar cómo interpreta el administrador de PnP la funcionalidad del dispositivo extraíble y, por tanto, afecta a la asignación de identificador de contenedor para el dispositivo.

Ejemplo 2

A continuación se muestra una invalidación de funcionalidad de dispositivo extraíble para todos los devnodes que coincidan con un valor de identificador de hardware específico.

En este ejemplo, la invalidación habilitará la funcionalidad del dispositivo extraíble y la invalidación se aplicará a los devnodes que tengan un valor de identificador de hardware de USB\VID_062A&PID_0000.

A continuación se muestra una descripción general del formato de tabla del Registro para esta invalidación.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceOverrides
    USB#VID_062A&PID_00001
        LocationPaths
            *
                Removable=1

1 Nombre de la subclave del Registro HardwareID .

En este ejemplo, el devnode con un identificador de hardware de USB\VID_1234&PID_5678 notifica correctamente la funcionalidad extraíble del dispositivo. El administrador de PnP genera un identificador de contenedor (ContainerID {B}) para él y todos sus devnodes secundarios.

Sin embargo, el devnode secundario con un identificador de hardware de USB\VID_062A&PID_0000 coincide con la invalidación. Como resultado, el administrador de PnP genera otro identificador independiente (ContainerID {C}) para este devnode y todos sus nodos de desarrollo secundarios.

Como antes, esta invalidación cambia la interpretación del administrador de PnP de la topología del dispositivo. Al dispositivo físico se le asignan dos identificadores de contenedor y Windows lo ven como dos dispositivos. Observe que el devnode con el identificador de hardware de USB\VID_062A&PID_0000 se interpreta como extraíble al agrupar los nodos de desarrollo en dispositivos. Esto no cambia el valor notificado por el devnode para la funcionalidad extraíble del dispositivo.

Además, se especificó la subclave * del Registro para indicar que esta invalidación se debe aplicar a todos los devnodes del equipo que tienen el identificador de hardware de USB\VID_062A&PID_0000.

En el diagrama siguiente se muestra la topología de dispositivo resultante y la asignación de identificador de contenedor asociada.

diagrama que ilustra la invalidación de la funcionalidad del dispositivo extraíble que marca un nodo de desarrollo como extraíble.