Abrindo a chave de software de um dispositivo
Você não deve abrir diretamente a chave de software de um dispositivo. Assim como acontece com qualquer chave do Registro, o local ou o formato dessas chaves pode mudar entre diferentes versões do Windows.
Observação
Você deve abrir a chave de software de um dispositivo somente depois que o dispositivo correspondente for encontrado. Para obter mais informações sobre esse procedimento, consulte Enumerando dispositivos instalados.
Para abrir ou criar a chave de software de um dispositivo, siga estas diretrizes:
Observação
Você deve definir o parâmetro em que fornece o acesso de segurança solicitado às permissões de acesso mínimas necessárias. Você não deve definir esse parâmetro como KEY_ALL_ACCESS. Para obter mais informações sobre como especificar permissões de acesso para acesso ao Registro, consulte Acessando chaves do Registro com segurança.
Para abrir uma chave de software existente, use CM_Open_DevNode_Key com uma Disposição de RegDisposition_OpenExisting e ulFlags contendo CM_REGISTRY_SOFTWARE ou use o parâmetro SetupDiOpenDevRegKey e KeyType de DIREG_DRV.
Para criar uma chave de software, use CM_Open_DevNode_Key com uma Disposição de RegDisposition_OpenAlways e ulFlags contendo CM_REGISTRY_SOFTWARE ou use o parâmetro SetupDiCreateDevRegKey e KeyType de DIREG_DRV.
Os chamadores no modo kernel devem usar IoOpenDeviceRegistryKey e definir o parâmetro DevInstKeyType como PLUGPLAY_REGKEY_DRIVER.
Modificando valores de registro na chave de software de um dispositivo
Você não deve modificar os valores das seguintes entradas do Registro (propriedades do dispositivo) na chave de software de um dispositivo:
DriverDate
DriverDateData
DriverDesc
DriverVersion
InfPath
InfSection
InfSectionExt
MatchingDeviceId
ProviderName
EnumPropPages32
Essas propriedades do dispositivo representam o estado de instalação de um dispositivo. A modificação direta dessas propriedades pode invalidar o estado de instalação do dispositivo. Por exemplo, alterar informações relacionadas ao arquivo INF invalida informações sobre arquivos de driver associados a propriedades como informações de assinatura de dispositivo e driver. Alterar a versão do driver ou a data do driver pode interromper Windows Update funcionalidade.
Observação
A partir do Windows Vista, o sistema operacional impõe restrições de acesso "somente tempo de instalação" para essas propriedades. Os valores podem ser replicados para compatibilidade e a modificação direta de valores durante a instalação do dispositivo não afeta o estado interno.