Seção INF DDInstall
Cada seção DDInstall por modelo contém uma diretiva DriverVer opcional e uma ou mais diretivas que fazem referência a seções nomeadas adicionais no arquivo INF, mostradas aqui com as diretivas INF especificadas com mais frequência, CopyFiles e AddReg, listadas primeiro.
As seções referenciadas por essas diretivas contêm instruções para instalar arquivos de driver e gravar informações específicas do dispositivo e/ou específicas do driver no registro.
[install-section-name] |
[install-section-name.nt] |
[install-section-name.ntx86] |
[install-section-name.ntia64] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64] | (Windows XP and later versions of Windows)
[install-section-name.ntarm] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64] (Windows 10 version 1709 and later versions of Windows)
[DriverVer=mm/dd/yyyy[,x.y.v.z]]
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...] (Windows XP and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...]
[AddProperty=add-property-section[,add-property-section]...] (Windows Vista and later versions of Windows)
[Include=filename1.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[Delfiles=file-list-section[,file-list-section]...]
[Renfiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...]
[DelProperty=del-property-section[,del-property-section]...] (Windows Vista and later versions of Windows)
[FeatureScore=featurescore]... (Windows Vista and later versions of Windows)
[BitReg=bit-registry-section[,bit-registry-section]...]
[LogConfig=log-config-section[,log-config-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...] (Windows 2000 and later versions of Windows)
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...]
[ExcludeID=device-identification-string[,device-identification-string]...]... ((Windows XP and later versions of Windows)
[Reboot]
Entradas
Nem todas as entradas válidas têm suporte em um INF Universal. O a seguir lista quais diretivas são válidas em um INF universal e quais não são.
Com suporte em um INF Universal
DriverVer=mm/dd/aaaa[,x.y.v.z]
Essa entrada opcional especifica informações de versão para o pacote de driver.
Para obter informações sobre como especificar essa entrada, consulte Diretiva DriverVer do INF.
CopyFiles=@filename | file-list-section[,file-list-section] ...
Essa diretiva especifica um arquivo nomeado a ser copiado da mídia de origem para o destino ou faz referência a uma ou mais seções definidas pelo gravador INF nas quais os arquivos relevantes do dispositivo na mídia de origem são especificados para transferência para o destino. A diretiva CopyFiles é opcional, mas está presente na maioria das seções DDInstall .
A entrada DefaultDestDir na seção DestinationDirs do INF especifica o destino para qualquer arquivo a ser copiado. As seções SourceDisksNames e SourceDisksFiles ou um INF adicional especificado na entrada LayoutFile da seção Versão deste INF fornecem o local na mídia de distribuição dos arquivos de driver.
Para obter mais informações, consulte Diretiva CopyFiles do INF.
CopyINF=filename1.inf[,filename2.inf]...
(Windows XP e posterior) Essa diretiva faz com que os arquivos INF especificados sejam copiados para o sistema de destino.
Para obter mais informações, consulte Diretiva COPYINF do INF.
AddReg=add-registry-section[,add-registry-section]...
Essa diretiva faz referência a uma ou mais seções definidas pelo gravador INF nas quais novas subchaves, possivelmente com entradas de valor inicial, são especificadas para serem gravadas no registro ou nas quais as entradas de valor das chaves existentes são modificadas.
Uma especificação HKR em tal seção de registro de suplemento designa o caminho do Registro de "chave de software" do dispositivo que está sendo instalado.
Para obter mais informações, consulte Diretiva InF AddReg.
AddProperty=add-property-section[,add-property-section]...
(Windows Vista e posterior) Faz referência a uma ou mais seções de arquivo INF que modificam as propriedades do dispositivo definidas para uma instância de dispositivo. Você deve usar uma diretiva INF AddProperty apenas para definir uma propriedade de instância de dispositivo que seja nova no Windows Vista ou versões posteriores dos sistemas operacionais Windows.
Para propriedades de instância de dispositivo que foram introduzidas anteriormente no Windows Server 2003, Windows XP ou Windows 2000 e que têm valores de entrada do Registro correspondentes, você deve continuar a usar diretivas InF AddReg para definir as propriedades da instância do dispositivo. Essas diretrizes se aplicam a propriedades definidas pelo sistema e propriedades personalizadas. Para obter mais informações sobre como usar a diretiva AddProperty , consulte Using the INF AddProperty Directive and the INF DelProperty Directive.
Include=filename1.inf[,filename2.inf]...
Essa entrada opcional especifica um ou mais arquivos INF adicionais fornecidos pelo sistema que contêm seções necessárias para instalar este dispositivo e/ou driver. Se essa entrada for especificada, geralmente é uma entrada Needs .
Por exemplo, arquivos INF para drivers de dispositivo que dependem do suporte de streaming de kernel do sistema podem especificar essa entrada da seguinte maneira:
Include= ks.inf, kscaptur.inf, ksfilter.inf
Needs=inf-section-name[,inf-section-name]...
Essa entrada opcional especifica seções em arquivos INF fornecidos pelo sistema que devem ser processados durante a instalação deste dispositivo. Normalmente, essa seção nomeada é uma DDInstall (ou DDInstall).xxx) seção dentro de um dos arquivos INF listados em uma entrada Include . No entanto, pode ser qualquer seção referenciada em um DDInstall ou DDInstall.seção xxx do INF incluído.
Por exemplo, arquivos INF para drivers de dispositivo que têm a entrada Include anterior podem especificar essa entrada da seguinte maneira:
Needs= KS.Registration, KSCAPTUR.Registration.NT, MSPCLOCK.Installation
FeatureScore=featurescore
Aviso
A diretiva FeatureScore só é processada quando especificada diretamente na seção [DDInstall] .
(Windows Vista e posterior) Essa diretiva fornece um critério de classificação adicional para drivers baseados nos recursos aos quais um driver dá suporte. Por exemplo, as pontuações de recursos podem ser definidas para uma classe de configuração de dispositivo que distingue entre drivers com base em critérios específicos da classe.
Para obter mais informações sobre como os drivers são classificados, consulte How Windows Ranks Drivers (Windows Vista and Later).
Para obter mais informações sobre essa diretiva, consulte Diretiva INF FeatureScore.
Observação
Embora uma seção DDInstall possa conter várias entradas featurescore , apenas a primeira entrada é processada para a seção.
ExcludeID=device-identification-string[,device-identification-string]...
Aviso
A diretiva ExcludeID só é processada quando especificada diretamente na seção [DDInstall] .
(Windows XP e posterior) Essa diretiva especifica uma ou mais cadeias de caracteres de identificação do dispositivo ( IDs de hardware ou IDs compatíveis). A seção DDInstall não instala dispositivos que têm IDs de dispositivo que correspondam a nenhuma das IDs de hardware ou IDs compatíveis listadas.
Reboot
Essa diretiva indica que o chamador deve ser solicitado a reinicializar o sistema após a conclusão da instalação.
Para obter mais informações, consulte Diretiva de reinicialização do INF.
Sem suporte em um INF Universal
Delfiles=file-list-section[,file-list-section]...
Essa diretiva faz referência a uma ou mais seções definidas pelo gravador INF listando arquivos no destino a serem excluídos.
Para obter mais informações, consulte Diretiva INF DelFiles.
Renfiles=file-list-section[,file-list-section]...
Essa diretiva faz referência a uma ou mais seções definidas pelo gravador INF listando arquivos a serem renomeados no destino antes que os arquivos de origem relevantes do dispositivo sejam copiados para o computador de destino.
Para obter mais informações, consulte Diretiva RenFiles do INF.
DelReg=del-registry-section[,del-registry-section]...
Essa diretiva faz referência a uma ou mais seções definidas pelo gravador INF nas quais as entradas de chave e/ou valor são especificadas para serem removidas do registro durante a instalação dos dispositivos.
Normalmente, essa diretiva é usada para lidar com atualizações quando um INF deve limpo entradas antigas do Registro de uma instalação anterior deste dispositivo.
Uma especificação HKR em tal seção delete-registry designa o caminho do Registro de "chave de software" do dispositivo que está sendo instalado.
Para obter mais informações, consulte Diretiva INF DelReg.
DelProperty=del-property-section[,del-property-section]...
(Windows Vista e posterior) Faz referência a uma ou mais seções de arquivo INF que excluem as propriedades do dispositivo definidas para uma instância de dispositivo. Você deve usar uma diretiva INF DelProperty apenas para excluir uma propriedade de instância de dispositivo que é nova no Windows Vista ou versões posteriores do Windows.
Para propriedades de instância de dispositivo que foram introduzidas anteriormente no Windows Server 2003, Windows XP ou Windows 2000 e que têm valores de entrada do Registro correspondentes, você deve continuar a usar diretivas INF DelReg para excluir as propriedades da instância do dispositivo. Essas diretrizes se aplicam a propriedades definidas pelo sistema e propriedades personalizadas. Para obter mais informações sobre como usar a diretiva DelProperty , consulte Using the INF AddProperty Directive and the INF DelProperty Directive.
BitReg=bit-registry-section[,bit-registry-section]...
Essa diretiva faz referência a uma ou mais seções definidas pelo gravador INF nas quais as entradas de valor de registro existentes do tipo REG_BINARY são modificadas.
Uma especificação de HKR em tal seção de registro de bits designa o caminho do Registro de "chave de software" do dispositivo que está sendo instalado.
Para obter mais informações, consulte Diretiva INF BitReg.
LogConfig=log-config-section[,log-config-section]...
Essa diretiva faz referência a uma ou mais seções definidas pelo gravador INF em um INF para um dispositivo enumerado por raiz ou para um dispositivo instalado manualmente. Nessas seções nomeadas, o INF para um dispositivo "detectado" ou instalado manualmente especifica uma ou mais configurações lógicas de recursos de hardware relativos ao barramento que o dispositivo deve ter que estar operacional. O INF para um dispositivo instalado manualmente que não é configurável por software também deve ter uma DDInstall. Seção FactDef .
A diretiva LogConfig nunca é usada para instalar dispositivos PnP (Plug and Play). No entanto, você pode usar uma seção INF DDInstall.LogConfigOverride para fornecer uma configuração de substituição para dispositivos PnP.
Essa diretiva é irrelevante para todos os componentes e drivers de nível superior (nondevice).
Para obter mais informações, consulte Diretiva LogConfig do INF.
ProfileItems=profile-items-section[,profile-items-section]...
(Microsoft Windows 2000 e versões posteriores do Windows) Essa diretiva raramente usada faz referência a uma ou mais seções definidas pelo gravador INF que descrevem os itens a serem adicionados ou removidos do menu Iniciar.
Para obter mais informações, consulte Diretiva INF ProfileItems.
UpdateInis=update-ini-section[,update-ini-section]...
Essa diretiva raramente usada faz referência a uma ou mais seções definidas pelo gravador INF, especificando um arquivo INI de origem do qual uma determinada seção ou linha dentro dessa seção deve ser lida em um arquivo INI de destino com o mesmo nome durante a instalação. Opcionalmente, as modificações linha a linha em um arquivo INI existente no destino de um determinado arquivo INI de origem com o mesmo nome podem ser especificadas na seção update-ini.
Para obter mais informações, consulte Diretiva UpdateInis do INF.
UpdateIniFields=update-inifields-section[,update-inifields-section]...
Essa diretiva raramente usada faz referência a uma ou mais seções definidas pelo gravador INF nas quais as modificações dentro das linhas de um arquivo INI específico do dispositivo são especificadas.
Para obter mais informações, consulte Diretiva UPDATEIniFields do INF.
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Essa diretiva raramente usada faz referência a uma ou mais seções definidas pelo gravador INF nas quais seções ou linhas de um arquivo INI específico do dispositivo, fornecido na mídia de origem, devem ser movidas para o registro.
Para obter mais informações, consulte Diretiva INF Ini2Reg.
RegisterDlls=register-dll-section[,register-dll-section]...
Essa diretiva faz referência a uma ou mais seções INF usadas para especificar arquivos que são controles OLE e exigem o autoregistro.
Para obter mais informações, consulte Diretiva RegisterDlls do INF.
UnregisterDlls=unregister-dll-section[,unregister-dll-section]...
Essa diretiva faz referência a uma ou mais seções INF usadas para especificar arquivos que são controles OLE e exigem auto-cancelamento de registro (autoextração).
Para obter mais informações, consulte Diretiva UnregisterDlls do INF.
Comentários
Em toda a documentação do WDK (Windows Driver Kit), o termo DDInstall é usado para se referir a um nome de seção de instalação, com ou sem extensões de plataforma. Portanto, "Seção DDInstall" significa "uma seção nomeada dentro de um INF, tendo o formato [install-section-name] ou [install-section-name.ntxxx]". Ao criar nomes para seções DDInstall , você deve incluir um prefixo específico do dispositivo, como [WDMPNPB003_Device] ou [GPR400. Install.NT].
Cada seção DDInstall deve ser referenciada em uma entrada específica de dispositivo/modelos na seção Modelos INF por fabricante do arquivo INF.
Exceto para dispositivos que não têm arquivos associados a serem transferidos da mídia de origem, um arquivo INF que instala um driver WDM em diferentes plataformas do sistema operacional deve ter pelo menos uma das seguintes seções DDInstall :
- Uma seção install-section-name.ntx86 que especifica as entradas para instalações de dispositivo/driver específicas para plataformas baseadas em x86.
- Uma seção install-section-name.ntia64 que especifica as entradas para instalações de dispositivo/driver específicas para plataformas baseadas em Itanium.
- Uma seção install-section-name.ntamd64 que especifica as entradas para instalações de dispositivo/driver específicas para plataformas baseadas em x64.
- Uma seção install-section-name.ntarm que especifica as entradas para instalações de dispositivo/driver específicas para plataformas baseadas em Arm.
- Uma seção install-section-name.ntarm64 que especifica as entradas para instalações de dispositivo/driver específicas para plataformas baseadas em Arm64.
- Uma seção install-section-name ou install-section-name.nt que especifica as entradas para instalações de dispositivo/driver que não são específicas para uma plataforma de hardware específica.
Para obter mais informações sobre como usar as extensões .nt, .ntx86, .ntia64, .ntamd64, .ntarm e .ntarm64 definidas pelo sistema, consulte Criando arquivos INF para várias plataformas e sistemas operacionais.
A partir do Windows 2000, um arquivo INF que instala drivers deve ter seções DDInstall.Services para especificar informações de serviço de driver.
Cada diretiva em uma seção DDInstall pode referenciar mais de um nome de seção. No entanto, cada seção nomeada adicional deve ser separada da próxima com uma vírgula (,).
Cada nome de seção deve ser exclusivo dentro do arquivo INF e deve seguir as regras gerais para definir nomes de seção. Para obter mais informações sobre essas regras, consulte Regras de sintaxe geral para arquivos INF.
Qualquer diretiva AddReg especificada em uma seção DDInstall é assumida para fazer referência a uma seção add-registry que não pode ser usada para armazenar informações sobre drivers de filtro superior ou inferior, sobre dispositivos multifuncionais ou sobre parâmetros independentes de driver, mas específicos do dispositivo. Se um INF de dispositivo/driver precisar armazenar esse tipo de informação no registro, ele deverá usar uma diretiva AddReg em sua DDInstall não decorada e decorada. Seções HW, se houver, para fazer referência a outra seção add-registry-section definida pelo gravador-INF.
Dependendo da classe de configuração do dispositivo especificada na seção Versão do INF, diretivas adicionais específicas da classe podem ser especificadas em uma seção DDInstall . Para obter mais informações sobre diretivas específicas de classe, consulte os seguintes tópicos:
- Criando um arquivo INF para um dispositivo windows SideShow-Compatible
- Seção DDInstall em um arquivo INF de rede
- Arquivos INF para dispositivos de imagem parada
- Arquivos INF para dispositivos WIA
- Requisitos de instalação para componentes de rede
- Especificando diretivas WDF em arquivos INF
Exemplos
Este exemplo mostra a expansão das seções DDInstall , Ser_Inst e Inp_Inst. Essas seções são referenciadas no exemplo da seção Modelos INF.
[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles
[Ser_CopyFiles]
sermouse.sys
[mouclass_CopyFiles] ; section name referenced by > 1 CopyFiles
mouclass.sys
[Inp_Inst]
CopyFiles=Inp_CopyFiles, mouclass_CopyFiles
[Inp_CopyFiles]
inport.sys
O exemplo a seguir mostra a seção DDInstall de um arquivo INF que instala um driver WDM fornecido pelo sistema para um dispositivo de áudio em várias plataformas do sistema operacional:
[WDMPNPB003_Device.NT]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration.NT
CopyFiles=MSSB16.CopyList
AddReg=WDM_SB16.AddReg
O exemplo a seguir mostra as seções referenciadas pela entrada Needs anterior nos arquivos ks.inf e wdmaudio.inf fornecidos pelo sistema. No exemplo anterior, esses arquivos são especificados na entrada Includes . Quando o instalador de dispositivo do sistema operacional processa o install-section-name deste dispositivo. nt seção, essas duas próximas seções também são processadas.
[KS.Registration]
; following AddReg= is actually a single line in the ks.inf file
AddReg=ProxyRegistration,CategoryRegistration,\
TopologyNodeRegistration,PlugInRegistration,PinNameRegistration,\
DeviceRegistration
CopyFiles=KSProxy.Files,KSDriver.Files
[WDMAUDIO.Registration.NT]
AddReg=WDM.AddReg
CopyFiles=WDM.CopyFiles.Sys, WDM.CopyFiles.Drv
;
; INF-writer-defined add-registry and file-list sections
; referenced by preceding directives are omitted here for brevity
;