Partilhar via


IDs de contêiner gerados a partir de uma sobreposição de capacidade de dispositivo removível

A partir do Windows 7, os novos dispositivos devem fornecer uma ID exclusiva específica do barramento (conforme descrito em IDs de contêiner geradas a partir de uma ID exclusiva de Bus-Specific).

Como alternativa, os dispositivos e controladores de barramento devem definir a capacidade do dispositivo removível corretamente (como descrito em IDs de contentor geradas a partir do recurso de dispositivo removível). Para obter mais informações sobre o recurso de dispositivo removível, consulte Visão geral do recurso de dispositivo removível.

Windows 7 e versões posteriores do Windows também suportam um mecanismo para substituir a capacidade reportada de dispositivo removível. Esse mecanismo é útil para dispositivos herdados que relatam a capacidade do dispositivo removível incorretamente.

Embora o mecanismo de substituição não altere o valor da capacidade de dispositivo removível, ele força o gerenciador PnP a usar a configuração de substituição e não o valor da capacidade de dispositivo removível ao gerar IDs de contêiner para dispositivos.

Por meio desse mecanismo de substituição, uma ID de contêiner pode ser gerada por meio de um método baseado no Registro. Assim que o ID do contêiner é gerado para o nó de dispositivo superior (pai) (devnode) de um dispositivo, o mesmo ID de contêiner é herdado por cada nó devnode filho do dispositivo por meio da heurística descrita em IDs de contêiner geradas a partir do recurso de dispositivo removível.

O mecanismo de substituição é uma tabela de pesquisa baseada no Registro que consiste em chaves do Registro mapeadas para dispositivos específicos. Esta tabela de substituição é mantida sob a chave de registo DeviceOverrides e consiste nas seguintes chaves e subchaves de registo.

Nível da Tabela Nome da chave/subchave do Registro Descrição

1

DeviceOverrides

Chave principal para todas as substituições de capacidade do dispositivo removível.

2

ID do hardware

Especifica ID de hardware de um dispositivo ao qual se aplica a substituição de capacidade de dispositivo removível.

O nome dessa subchave é o ID de hardware real, com todos os caracteres de barra invertida ('') substituídos por caracteres de número ('#').

2

ID compatível

Especifica o ID compatível de um dispositivo ao qual se aplica a substituição da capacidade do dispositivo removível.

O nome dessa subchave é o ID de hardware real, com todos os caracteres de barra invertida ('') substituídos por caracteres de número ('#').

3

Caminhos de Localização

Especifica que somente o caminho de localização do nó de dispositivo pai do dispositivo (devnode) terá aplicada a substituição de capacidade de dispositivo removível.

3

ChildLocationCaminhos

Especifica que o caminho de localização dos devnodes filhos do dispositivo terá a substituição de capacidade de dispositivo removível aplicada.

Observação O devnode pai do dispositivo especificado não é afetado pela anulação de capacidade do dispositivo removível, a menos que uma subchave do registo LocationPaths também seja especificada ou uma subchave ChildLocationPaths seja especificada para o devnode pai.

4

CaminhoLocalização

Especifica o caminho de localização discreta do devnode ao qual a substituição da capacidade de dispositivo removível se aplica.

O nome dessa subchave é o caminho de local real para uma única instância de devnode de um dispositivo instalado no computador.

4

*

Especifica que a substituição de capacidade de dispositivo removível se aplica a todos os devnodes do dispositivo especificado.

Dentro das subchaves LocationPath e * do Registro, um valor DWORD (Removable) especifica se os devnodes aplicáveis são considerados removíveis (1) ou não removíveis (0).

Exemplo 1

A seguir é apresentada uma substituição de dispositivo para um devnode que corresponde a uma subchave do registo HardwareID, além de um caminho de localização especificado por meio da subchave do registo LocationPaths.

Neste exemplo, a sobrescrição desativará a capacidade de dispositivos removíveis e será aplicada a todos os devnodes que tenham uma ID de hardware USB\VID_1234&PID_5678 no caminho de localização PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1).

A seguir está um exemplo do formato de tabela do Registro para essa substituição.

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

Neste exemplo, USB#VID_1234&PID_5678 é o nome da subchave do Registro HardwareID e PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1) é o nome da subchave do Registro LocationPath .

Essa substituição altera a interpretação do gerenciador Plug and Play (PnP) da topologia do dispositivo. Observe que o devnode com um valor de ID de hardware USB\VID_1234&PID_5678 foi marcado como não removível no registro. Um novo ID de contêiner não é gerado para este devnode, porque o gerenciador PnP interpreta o devnode como não sendo removível de seu pai. Em vez disso, USB\VID_1234&PID_5678 (e todos os seus filhos) herdam o ID do contêiner (ContainerID {A}) de seu pai.

O resultado dessa substituição é um único agrupamento de dispositivos porque todos os devnodes na árvore têm a mesma ID de contêiner. O dispositivo USB\VID_1234&PID_5678 é interpretado como sendo integrado com o computador.

O diagrama a seguir mostra a topologia de dispositivo resultante e a atribuição de ID de contêiner associada.

Diagrama ilustrando a substituição de capacidade de dispositivo removível que marca um devnode como não removível.

O exemplo anterior mostra uma topologia de devnode frequentemente encontrada: computadores portáteis com dispositivos conectados a locais de barramento específicos que incorretamente se reportam como removíveis. Os dispositivos fisicamente integrados com um computador, como uma webcam ou um sensor biométrico (impressão digital), não devem ser comunicados como amovíveis porque um utilizador não pode separá-los fisicamente do computador. A sobreposição removível permite que um fornecedor independente de hardware (IHV) ou fabricante de equipamento original (OEM) altere a forma como o gestor PnP interpreta a capacidade do dispositivo removível, influenciando assim a atribuição do ID de contentor para o dispositivo.

Exemplo 2

A seguir mostra uma substituição de capacidade de dispositivo removível para todos os devnodes que correspondem a um valor de ID de hardware específico.

Neste exemplo, a substituição habilitará a capacidade de dispositivo removível e a substituição será aplicada a devnodes que tenham um valor de ID de hardware USB\VID_062A&PID_0000.

A seguir está uma descrição de alto nível do formato de tabela de registo para essa substituição.

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

1 O nome da subchave do Registro HardwareID .

Neste exemplo, o devnode com uma ID de hardware USB\VID_1234&PID_5678 relata a capacidade removível do dispositivo corretamente. O gestor PnP gera um ID de contentor (ContainerID {B}) para ele e todos os seus dispositivos filhos.

No entanto, o devnode filho com uma ID de hardware USB\VID_062A&PID_0000 corresponde à substituição. Como resultado, o gerenciador PnP gera outro ID contido (ContainerID {C}) para este devnode e todos os seus devnodes filho.

Como antes, essa substituição altera a interpretação do gerenciador PnP da topologia do dispositivo. O dispositivo físico recebe duas IDs de contêiner e é visto pelo Windows como dois dispositivos. Observe que o devnode com o ID de hardware de USB\VID_062A&PID_0000 é interpretado como removível ao agrupar os devnodes em dispositivos. Isso não altera o valor relatado pelo devnode para o recurso removível do dispositivo.

Além disso, a subchave de registro * foi especificada para indicar que essa substituição deve ser aplicada a todos os devnodes no computador que têm a ID de hardware de USB\VID_062A&PID_0000.

O diagrama a seguir mostra a topologia de dispositivo resultante e a atribuição de ID de contêiner associada.

Diagrama ilustrando a substituição de capacidade de dispositivo removível que marca um devnode como removível.