Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os arquivos INF do driver de exibição devem adicionar todas as configurações de registro relacionadas ao software à chave de software PnP (Plug and Play). A chave de software PnP (também chamada de chave de driver) armazena dados de configuração específicos do driver que persistem entre reinicializações do sistema.
Para adaptadores de vídeo, a chave de software é criada no GUID {4d36e968-e325-11ce-bfc1-08002be10318} da classe de dispositivo do adaptador de vídeo.
Para obter mais informações, consulte Rotinas do Registro "Plug and Play".
Estrutura básica do INF
Normalmente, os arquivos INF do driver de exibição são muito grandes e complexos, contendo muitas seções para diferentes arquiteturas, modelos de dispositivo, cópia de arquivo, instalação de serviço e muito mais. Os exemplos a seguir mostram apenas as partes relacionadas ao registro relevantes para adicionar configurações de software à chave de software PnP.
O arquivo INF do driver de exibição deve incluir seções que definem quais configurações do Registro adicionar. Aqui está um fragmento simplificado mostrando a estrutura básica:
[Xxx.Mfg]
"RADEON 8500/RADEON 8500LE (R200 LDDM)" = R200_R200, PCI\VEN_1002&DEV_514c&SUBSYS_003a1002
[R200_R200]
Include=msdv.inf
CopyFiles=R200.Miniport, R200.Display
AddReg = R200_SoftwareDeviceSettings
AddReg = R200_R200_SoftwareDeviceSettings
DelReg = R200_RemoveDeviceSettings
; ... many other directives omitted ...
Este fragmento mostra:
- [Xxx.Mfg]: a seção fabricante/modelos que mapeia IDs de hardware para seções de instalação
- [R200_R200]: a seção DDInstall que especifica o que instalar para este dispositivo
- Diretivas AddReg: seções de referência que definem quais valores do Registro adicionar
- Diretiva DelReg: faz referência a seções que definem quais valores do Registro serão removidos (para cenários de atualização)
Definindo configurações do Registro
As AddReg diretivas fazem referência a seções que contêm os valores reais do registro. Aqui está um exemplo mostrando o que acontece nas seções referenciadas.
Observação: um INF de driver de exibição completo conteria muitos valores adicionais do Registro; estes exemplos mostram apenas as configurações de chave de software mais comuns:
[R200_SoftwareDeviceSettings]
HKR,, InstalledDisplayDrivers, %REG_MULTI_SZ%, R200umd
HKR,, UserModeDriverName, %REG_SZ%, %13%\R200umd.dll
HKR,, VgaCompatible, %REG_DWORD%, 0
HKR,, Acceleration.Level, %REG_DWORD%, 0
HKR,, CapabilityOverride, %REG_DWORD%, 0x8
[R200_R200_SoftwareDeviceSettings]
HKR,, VideoDebugLevel, %REG_DWORD%, 0
; ... device-specific settings ...
Formato de valor do Registro
Cada entrada do Registro segue este formato:
HKR, [subkey], value-name, flags, value
Where:
- HKR: representa a raiz da chave de hardware/software (a chave de software PnP)
- subchave: caminho de subchave opcional (vazio na maioria dos casos)
- value-name: o nome do valor do registro
- sinalizadores: constante de tipo de dados (como %REG_DWORD%, %REG_SZ%, %REG_MULTI_SZ%)
- valor: os dados reais a serem armazenados
Configurações comuns do Registro
Normalmente, os drivers de exibição definem esses valores do Registro:
| Nome do valor | Tipo | Propósito |
|---|---|---|
| InstalledDisplayDrivers | REG_MULTI_SZ | Lista de nomes de DLLs de drivers em modo de usuário (sem a extensão .dll) |
| UserModeDriverName | REG_SZ | Caminho para a DLL do driver do modo de usuário principal |
| Compatível com VGA | REG_DWORD | Indica a compatibilidade da VGA (0 = não compatível, 1 = compatível) |
| Nível de Aceleração | REG_DWORD | Nível de aceleração de gráficos (0 = completo, 5 = nenhum) |
| SobrescriçãoDeCapacidade | REG_DWORD | Máscara de bits para substituir recursos de hardware |
Constantes de cadeia de caracteres
Defina as constantes de tipo de registro na seção [Strings] do arquivo INF:
[Strings]
REG_SZ = 0x00000000
REG_MULTI_SZ = 0x00010000
REG_DWORD = 0x00010001
Exemplo de vários dispositivos
Se o pacote de driver oferece suporte a vários modelos de dispositivo, use seções AddReg específicas para cada dispositivo:
[Manufacturer]
%Contoso%=Contoso.Mfg, NTamd64
[Contoso.Mfg.NTamd64]
%Device1.DeviceDesc% = Device1_Install, PCI\VEN_1234&DEV_0001
%Device2.DeviceDesc% = Device2_Install, PCI\VEN_1234&DEV_0002
[Device1_Install]
CopyFiles = Miniport.Files, UMD.Files
AddReg = Common_Settings, Device1_Settings
[Device2_Install]
CopyFiles = Miniport.Files, UMD.Files
AddReg = Common_Settings, Device2_Settings
[Common_Settings]
HKR,, InstalledDisplayDrivers, %REG_MULTI_SZ%, ContosoUMD
HKR,, VgaCompatible, %REG_DWORD%, 0
[Device1_Settings]
HKR,, DeviceSpecificValue, %REG_DWORD%, 1
[Device2_Settings]
HKR,, DeviceSpecificValue, %REG_DWORD%, 2
Práticas recomendadas
- Usar o HKR para configurações de software: sempre use HKR (caminhos não absolutos) para garantir que as configurações acessem a chave de software PnP correta
- Configurações comuns de grupo: use seções de AddReg compartilhadas para configurações comuns em todos os modelos de dispositivo
- Usar seções específicas do dispositivo: criar seções de AddReg separadas para configurações que diferem entre modelos de dispositivo
- Limpeza na atualização: use seções DelReg para remover valores obsoletos do registro ao atualizar drivers
- Valores personalizados do documento: adicione comentários em seu arquivo INF explicando valores de registro específicos ou não padrão do fornecedor