Como o Windows determina o controlador mais adequado para instalar durante a execução do programa de configuração

Traduções de Artigos Traduções de Artigos
Artigo: 279112 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve o processo que é utilizado para seleccionar o controlador de dispositivo mais adequado para um dispositivo durante o programa de configuração.

Quando executa o programa de configuração do Windows, poderá ter mais do que um conjunto de controladores ou ficheiros .inf que trabalharem com um determinado dispositivo. Programa de configuração e Plug and Play tentarem resolvê-los seleccionando o controlador de dispositivo a correspondência mais adequada para o dispositivo que está a ser instalado.

Nota : Este artigo apenas descreve o processo que é utilizado para os dispositivos que estão a ser instalados durante a fase de interface (GUI, Graphical User Interface) gráfica de utilizador do programa de configuração ou após a conclusão do programa de configuração. Os processos de selecção controlador de armazenamento em massa de detecção e controlador de dispositivo, que são efectuados durante a porção de modo de texto do programa de configuração siga um processo diferente.

Mais Informação

Para obter mais informações sobre o processo de detecção de controlador de armazenamento em massa, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
220845Adicionar controlador de outros fabricantes ou actualizado durante o programa de configuração do Windows

O Plug and Play tenta localizar um controlador de dispositivo compatível comparando as identificações de Plug and Play (ID) de hardware (devolvido pelo firmware do dispositivo ou sistema BIOS quando que o dispositivo já tinha sido enumerado) com qualquer ID de Plug and Play correspondente que se encontram nos ficheiros .inf.

O Plug and Play pode procurar todos os ficheiros .inf para o controlador de dispositivo mais adequado a instalar para um determinado dispositivo. Plug and Play não pára a procura na primeira correspondência que localiza Plug and Play. Plug and Play continua a procurar todos os ficheiros .inf que estão listados no caminho de procura do Plug and Play, tal como definido na seguinte entrada do registo:
HKEY LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
DevicePath:Reg_Expand_SZ:%Systemroot%\Inf

Nota : por predefinição, a localização do registo anterior contém apenas esta entrada única, no entanto, caminhos adicionais podem ser acrescentados a este movimento quando efectua uma configuração automática e OemPnpDriversPath = parâmetro é utilizado no ficheiro de resposta automática.

O programa de configuração cria uma lista de controladores de dispositivo compatível que continha uma correspondência num ficheiro .inf e atribui uma "classificação" para cada um que já tinha sido localizado. A classificação pode variar entre "0"para"0xFFFF" com 0 a ser a correspondência mais adequada possível e 0xFFFF a correspondência de possível pior. O controlador de dispositivo com a classificação mais baixa é considerado a correspondência mais adequada possível e é o controlador de dispositivo instalado.

As classificações de controlador de dispositivo tem os seguintes intervalos:
  • 0 x 0 para 0xfff: O ID de hardware do dispositivo corresponde a um ID de hardware listado num ficheiro .inf.
  • 0 x 1000 para 0x1fff: O ID de hardware do dispositivo correspondente dos IDs compatíveis num ficheiro .inf.
  • 0x2000 para 0x2fff: um dos dispositivos correspondem IDs compatíveis com o ID de hardware num ficheiro .inf.
  • 0x3000 para 0x3fff: um dos dispositivos IDs compatíveis correspondem com os ID compatível num ficheiro .inf.
  • 0xFFFF: a correspondência maiúsculas pior.
No Windows XP e Windows Server 2003, existem intervalos de classificação de controlador de dispositivo adicionais:
  • 0 x 8000 para 0x8FFF: corresponde ao ID de hardware não fidedignos
  • 0x9000 para 0x9FFF: corresponde ao ID compatível não fidedigno
Alguns ficheiros .inf podem estar no intervalo que não considere fidedigno se estas não estejam assinadas digitalmente ou se o nome de secção do 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 estes sistemas operativos).

Se programa de configuração determinar que um controlador de dispositivo não fidedigno, programa de configuração pode alterar a classificação de controladores de dispositivo nos intervalos de adequado anteriores.
Classificações de controlador de dispositivo no intervalo de 0 x 0 para 0xfff são designadas por "Corresponde a ID de hardware" porque que corresponde ao ID de hardware para ID de hardware. Estas classificações também são consideradas as correspondências mais adequadas e outras classificações listadas como "compatível" porque existe pelo menos um ID compatível no edifício a classificação de controladores de dispositivo. Classe de instaladores e co-instaladores para também podem afectar a selecção do controlador de dispositivo, marcando o controlador de dispositivo como "inválida" Se o programa de instalação determinar que o controlador de dispositivo não consegue suportar o dispositivo ou se o programa de instalação altera a posição de um controlador de dispositivo.

No entanto, se dois controladores de dispositivo tiverem a mesma classificação mais baixa, o programa de configuração utiliza o controlador de dispositivo com a data mais recente. Se um dos controladores de dispositivo está assinado e o controlador de dispositivo não assinado, a data do controlador de dispositivo não assinados é atribuída um valor de 0xFFFFFFFF e o controlador de dispositivo assinado é seleccionado e instalado.

Poderá ser possível fornecer um controlador de dispositivo fornecidos pelo OEM, mas poderá não ser seleccionado e utilizado. Apesar de um fabricante forneceu um controlador de dispositivo actualizado, poderá foram apenas escrito como um controlador de dispositivo compatível que pode atribuir-lhe um número de classificação superior que resulta numa correspondência pior. O programa de configuração não considera se o controlador de dispositivo fornecidos pelo OEM está assinado digitalmente quando o programa de configuração selecciona uma correspondência do controlador de dispositivo. Se o controlador de dispositivo não assinados tem uma classificação mais baixa e é uma melhor correspondência do que outros controladores de dispositivo na caixa de, esse controlador de dispositivo pode ser seleccionado e instalado pelo programa de configuração.

Quando executa o programa de configuração, se não for encontrada uma correspondência em qualquer ficheiro .inf, a instalação do dispositivo é adiada e o dispositivo poderá tornar-se um dispositivo desconhecido no Gestor de dispositivos. Se for introduzido um novo dispositivo (não durante a configuração) e não for encontrada uma correspondência em quaisquer ficheiros .inf no computador, pode receber uma mensagem "Novo hardware encontrado" e ser-lhe-pode pedido para fornecer um controlador de dispositivo.

Por exemplo, tiver um computador que tenha uma placa gráfica PCI com um ID de Plug and Play que é apresentado em dois ficheiros .inf diferentes, Nv3_disp.inf e Nv4_disp.inf. Nenhum destes ficheiros de controlador de dispositivo assinados digitalmente para que ambas as datas de controlador de dispositivo são atribuídas um valor de 0xFFFFFFFF. Neste exemplo, estes ficheiros estão localizados nas seguintes pastas D:\Drivers\Video1 e D:\Drivers\Video2.

Devicepath actual = no registo tem as entradas %Systemroot%\Inf;%Systemdrive%\Drivers\Video1;%Systemdrive%\Drivers\Video2.

Nota : O % SystemRoot % é D:\Winnt sendo % Systemdrive % D:

Ambas as procuras do programa de configuração e Plug and Play todos os ficheiros .inf existentes estes caminhos anteriores e regista quaisquer correspondências que se encontram. Se o programa de configuração ou Plug and Plug encontrar mais que uma correspondência, é utilizada a correspondência mais adequada.

O seguinte excerto dos detalhes de ficheiro Setupapi.log processo anterior. Neste exemplo, o modo de registo para o programa de configuração tinha sido colocado no modo verboso utilizando o seguinte artigo:
243996Como activar o registo verboso no programa de configuração modo de interface gráfica do utilizador do Windows 2000

Se o programa de configuração for executado normalmente, não cumprem este detalhes no ficheiro Setupapi.log.

Quando um dispositivo é consultado, devolve uma lista de IDs de hardware e IDs compatíveis. Nem todos os dispositivos devolvem vários ID, mas na maioria dos casos, fazem. Neste exemplo, uma placa gráfica devolve os seguintes IDs:
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.
				
a saída de exemplo, programa de configuração seleccionado e instalado o controlador de dispositivo utilizando o ficheiro D:\Drivers\Video1\Nv4_disp.inf porque programa de configuração localizar esse controlador de dispositivo seja a correspondência mais adequada.

Localizar facilmente os dispositivos instalados e os ficheiros .inf que tinham sido utilizados para instalar o dispositivo, abra o ficheiro %Systemroot%\Setupapi.log no bloco de notas do Windows e procure DIF_SelectBestCompatDrv para Plug and Play instalados dispositivos ou DIF_SelectDevice para dispositivos que tinham sido instalados manualmente.

Propriedades

Artigo: 279112 - Última revisão: 3 de dezembro de 2007 - Revisão: 6.4
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows XP Professional Edition
  • 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: 
kbmt kbenv kbinfo kbsetup KB279112 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
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