Como o Windows determina o driver de dispositivo mais adequado para instalar durante a instalação

Traduções deste artigo Traduções deste artigo
ID do artigo: 279112 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Este artigo descreve o processo que é usado para selecionar o driver de dispositivo mais adequado para um dispositivo durante a instalação.

Quando você executa a instalação do Windows, você pode ter mais de um conjunto de drivers de dispositivos ou arquivos. inf que trabalham com um determinado dispositivo. Instalação e Plug and Play tentam resolver esses conflitos, selecionando o driver de dispositivo que seja a correspondência mais adequada para o dispositivo que está sendo instalado.

Observação: Este artigo apenas descreve o processo que é usado para os dispositivos que estão sendo instalados durante a fase de interface (GUI) gráfica do programa de instalação ou após a instalação. Os processos de seleção com controlador de armazenamento em massa de detecção e driver de dispositivo que são executados durante a parte de modo texto da instalação siga um processo diferente.

Mais Informações

Para obter mais informações sobre o processo de detecção de controlador de armazenamento em massa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento Microsoft:
220845 Adicionar driver atualizado ou de terceiros durante a instalação do Windows

Plug and Play tenta localizar um driver de dispositivo compatível comparando as identificações de Plug and Play (IDs) do hardware (retornados pelo firmware do dispositivo ou sistema BIOS no momento em que o dispositivo tinha sido enumerado) com as identificações Plug and Play correspondentes localizados nos arquivos. inf.

Plug and Play pode pesquisar todos os arquivos. inf para o driver de dispositivo mais adequado instalar um dispositivo específico. Plug and Play não interrompe a pesquisa na primeira correspondência que localiza Plug and Play. Plug and Play continua a pesquisa todos os arquivos. inf que estão listados no caminho de pesquisa de Plug and Play, como definido na seguinte entrada do registro:
HKEY-LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
DevicePath:Reg_Expand_SZ:%Systemroot%\Inf

Observação: por padrão, o local do registro anterior contém apenas essa entrada única, no entanto, caminhos adicionais podem ser acrescentados a esta entrada quando você executar uma instalação autônoma e o OemPnpDriversPath = parâmetro é usado no arquivo de resposta autônomo.

A instalação cria uma lista de drivers de dispositivo compatível que continha uma correspondência em um arquivo. inf e atribui uma "classificação" para cada um que já tinha sido localizado. A classificação pode variar de "0" para "0xFFFF" com 0, sendo a melhor correspondência possível e 0xFFFF a pior correspondência possível. O driver de dispositivo com o posto mais baixo é considerado a melhor correspondência possível e é o driver de dispositivo instalado.

As classificações de driver de dispositivo têm os seguintes intervalos:
  • 0x0 para 0xfff: A identificação de hardware do dispositivo correspondente com a ID de ahardware listado em um arquivo. inf.
  • 0x1000 para 0x1fff: A identificação de hardware do dispositivo correspondente a um dos thecompatible IDs em um arquivo. inf.
  • 0x2000 para 0x2fff: um do dispositivos compatíveis IDs matchedwith a identificação de hardware em um arquivo. inf.
  • 0x3000 para 0x3fff: um do dispositivos compatíveis IDs matchedwith identificação compatível em um arquivo. inf.
  • 0xFFFF: a pior correspondência de maiúsculas.
No Windows XP e Windows Server 2003, há classificação de driver de dispositivo areadditional varia:
  • 0x8000 para 0x8FFF: não confiável correspondências de identificação de Hardware
  • 0x9000 para 0x9FFF: não confiável correspondência de identificação compatível
Alguns arquivos. inf podem estar no intervalo não confiável se eles não são assinados digitalmente ou se o nome da seção modelo não contém decorações específicas do Windows NT (o dispositivo pode ser instalado no Windows NT, Windows 95 ou Windows 98, mas o dispositivo não tem entradas específicas para sistemas de theseoperating).

Se o programa de instalação determina que uma isuntrusted de driver de dispositivo, o programa de instalação pode alterar o posto de driver de dispositivo para os intervalos precedingappropriate.
Classificações de driver de dispositivo no intervalo de 0x0 para 0xfff são chamadas de "Identificação de Hardware correspondências" porque eles correspondem a identificação de hardware para a identificação de hardware. Essas classificações também são consideradas as correspondências mais adequadas e quaisquer outras classificações são listadas como "compatível" porque há pelo menos uma identificação compatível na criação a classificação de driver de dispositivo. Instaladores secundários e instaladores de classe também podem afetar a seleção do driver de dispositivo sinalizando o driver de dispositivo como "inválida" se o instalador determina que o driver de dispositivo é capaz de suportar o dispositivo, ou se o instalador altera a posição de um driver de dispositivo.

No entanto, se dois drivers de dispositivo tiverem a mesma classificação mais baixa, o programa de instalação usa o driver de dispositivo com a data mais recente. Se um dos drivers de dispositivo está assinado e o driver do dispositivo não é assinado, a data do driver de dispositivo não assinado é atribuída um valor de 0xFFFFFFFF e o driver de dispositivo assinado é selecionado e instalado.

É possível fornecer um driver de dispositivo fornecidos pelo OEM, mas pode não ser selecionado e usado. Mesmo que o fabricante forneceu um driver de dispositivo atualizado, ele pode apenas foram escrito como um driver de dispositivo compatível com o que dá a ele um número de classificação maior resulta em uma coincidência pior. O programa de instalação não leva em consideração se o driver de dispositivo fornecidos pelo OEM for assinado digitalmente quando a instalação selecionará uma correspondência de driver de dispositivo. Se o driver de dispositivo não assinados tem uma classificação mais baixa e uma correspondência melhor que qualquer outro driver de dispositivo no, driver de dispositivo que pode ser selecionada e instalado pelo programa de instalação.

Quando você executa a instalação, se uma correspondência não for encontrada em qualquer arquivo. inf, a instalação do dispositivo será adiada e o dispositivo pode se tornar um dispositivo desconhecido no Gerenciador de dispositivos. Se um novo dispositivo é apresentado (não durante a instalação) e uma correspondência não for encontrada em todos os arquivos. inf no computador, você pode receber um aviso de "Novo Hardware encontrado" e você pode ser solicitado a fornecer um driver de dispositivo.

Por exemplo, você tem um computador que tenha um adaptador de vídeo PCI com um ID de Plug and Play que é exibido em dois arquivos. inf diferentes, Nv3_disp.inf e Nv4_disp.inf. Nenhum desses arquivos de driver de dispositivo assinados digitalmente para que ambas as datas de driver de dispositivo recebem um valor de 0xFFFFFFFF. Neste exemplo, esses arquivos estão localizados nas seguintes pastas D:\Drivers\Video1 e D:\Drivers\Video2.

O atual Devicepath = no registro tem as entradas %Systemroot%\Inf;%Systemdrive%\Drivers\Video1;%Systemdrive%\Drivers\Video2.

Observação: % Systemroot % é D:\Winnt e % Systemdrive % é d:

Tanto a instalação e Plug and Play procura todos os arquivos. inf encontrado nesses caminhos anteriores e registra quaisquer correspondências encontradas. Se o programa de instalação ou Plug and Plug encontrar mais que uma correspondência, a correspondência mais adequada será usada.

O seguinte trecho dos detalhes do arquivo Setupapi. log o processo anterior. Para este exemplo, o modo de log de instalação tinha foi colocado no modo detalhado, usando o seguinte artigo:
243996 Como activar o registo verboso na instalação do modo GUI do Windows 2000

Se a instalação é executada normalmente, você não observe essa quantidade detalhes no arquivo Setupapi log.

Quando um dispositivo é consultado, ele retorna uma lista de identificações de hardware e identificações compatíveis. Nem todos os dispositivos retornam várias identificações, mas na maioria dos casos, eles fazem. Neste exemplo, uma placa de vídeo retorna as seguintes identificações:
Searching for hardware IDs:
Pci\Ven_10de&dev_0028&subsys_5a001092&rev_11,
Pci\Ven_10de&dev_0028&subsys_5a001092,
Pci\Ven_10de&dev_0028&cc_030000,
Pci\Ven_10de&dev_0028&cc_0300
Searching for compatible IDs:
Pci\Ven_10de&dev_0028&rev_11,
Pci\Ven_10de&dev_0028,
Pci\Ven_10de&cc_030000,
Pci\Ven_10de&cc_0300,
Pci\Ven_10de,pci\cc_030000,
Pci\Cc_0300
Enumerating files D:\Winnt\Inf\*.inf
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\1394.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\accessor.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\acpi.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\adm_mult.inf".
@ 07:11:59.191 : Opened PNF of "D:\Winnt\Inf\adm_port.inf".
@ 07:11:59.207 : Opened PNF of "D:\Winnt\Inf\agtinst.inf".
.
.
.
Enumerating files D:\Drivers\Video1\*.inf
@ 07:12:00.660 : Opened PNF of "D:\Drivers\Video1\NV4_DISP.inf".
@ 07:12:00.660 : The file (D:\Drivers\Video1\NV4_DISP.inf) is not digitally
 signed, ignoring driver date.
@ 07:12:00.660 :Found Pci\VEN_10DE&DEV_0028 in 
D:\Drivers\Video1\NV4_DISP.inf; Device: NVIDIA RIVA TNT2; Driver: NVIDIA 
RIVA TNT2; Provider: NVIDIA; Mfg: NVIDIA; Section: nv4
@ 07:12:00.660 : Decorated section name: nv4
Enumerating files D:\Drivers\Video2\*.inf
@ 07:12:00.660 : Opened PNF of "D:\Drivers\Video2\NV3_DISP.inf".
@ 07:12:00.675 : The file (D:\Drivers\Video2\NV3_DISP.inf) is not digitally
 signed, ignoring driver date.
@ 07:12:00.675 : Found PCI\VEN_10DE&DEV_0028 in
 D:\Drivers\Video2\NV3_DISP.inf; Device: NVIDIA RIVA TNT2; Driver: NVIDIA
 RIVA TNT2; Provider: NVIDIA; Mfg: NVIDIA; Section: nv4
@ 07:12:00.675 : Decorated section name: nv4
@ 07:12:01.706 : Device install function: DIF_SELECTBESTCOMPATDRV.
@ 07:12:01.706 : Executing class installer.
@ 07:12:01.894 : Completed class installer.
@ 07:12:01.894 : Executing default installer.
@ 07:12:01.894 : Selected driver installs from section nv4 in D:\Drivers\Video1\Nv4_disp.inf.
@ 07:12:01.894 : Changed class GUID of device to {4D36E968-E325-11CE-BFC1-08002BE10318}.
@ 07:12:01.894 : Set selected driver.
@ 07:12:01.894 : Selected best compatible driver.
@ 07:12:01.894 : Completed default installer.
@ 07:12:06.565 : Device install function: DIF_ALLOW_INSTALL.
@ 07:12:06.565 : Executing class installer.
@ 07:12:06.565 : Completed class installer.
@ 07:12:06.581 : Device install function: DIF_INSTALLDEVICEFILES.
@ 07:12:06.581 : Executing class installer.
@ 07:12:06.581 : Completed class installer.
@ 07:12:06.581 : Executing default installer.
				
Na saída do exemplo, a instalação selecionado e instalado o driver de dispositivo usando o arquivo D:\Drivers\Video1\Nv4_disp.inf porque o programa de instalação encontrou um driver de dispositivo que seja a correspondência mais adequada.

Para localizar facilmente os dispositivos instalados e os arquivos. inf que tinham sido usados para instalar o dispositivo, abra o arquivo %Systemroot%\Setupapi.log no bloco de notas do Windows e procure DIF_SelectBestCompatDrv para Plug and Play instalado dispositivos ou DIF_SelectDevice para dispositivos que tiveram sido instalados manualmente.

Propriedades

ID do artigo: 279112 - Última revisão: segunda-feira, 3 de março de 2014 - Revisão: 7.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
Palavras-chave: 
kbenv kbinfo kbsetup kbmt KB279112 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 279112

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com