Diretiva UpdateInis do INF

Cuidado

A partir do Windows 11 versão 22H2, um pacote de driver que usa essa diretiva não está mais qualificado para uma assinatura do Centro de Desenvolvedores de Hardware.

Pacotes de driver universais e Drivers do Windows não podem usar essa diretiva.

Uma diretiva UpdateInis faz referência a uma ou mais seções nomeadas, especificando um arquivo INI do qual uma determinada seção ou linha deve ser lida e aplicada a um arquivo INI existente com o mesmo nome no computador de destino. Opcionalmente, as modificações linha a linha de e para esses arquivos INI podem ser especificadas na seção update-ini.

[DDInstall] | 
[DDInstall.CoInstallers] | 
[ClassInstall32] | 
[ClassInstall32.ntx86] | 
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)

UpdateInis=update-ini-section[,update-ini-section]...

Essa diretiva quase nunca é especificada em arquivos INF para instalação no Windows, devido à falta de necessidade de arquivos INI. No entanto, a diretiva UpdateInis é válida em qualquer uma das seções mostradas na instrução de sintaxe formal, bem como nas seções definidas pelo gravador INF referenciadas por uma diretiva AddInterface ou referenciadas em uma seção InterfaceInstall32 .

Cada seção nomeada referenciada por uma diretiva UpdateInis tem o seguinte formato:

[update-ini-section]
 
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...

Uma seção update-ini pode ter qualquer número de entradas determinadas pelo gravador INF, cada uma em uma linha separada.

Entradas

ini-file
Especifica o nome de um arquivo INI fornecido na mídia de origem e, implicitamente, o do arquivo INI a ser atualizado no computador de destino. Esse valor pode ser expresso como um nome de arquivo ou como um token %strkey% definido em uma seção Strings do arquivo INF.

ini-section
Especifica o nome da seção dentro do arquivo INI fornecido. Se os próximos dois valores forem especificados, esta seção conterá uma entrada a ser alterada. Se uma entrada antiga for omitida, mas uma nova entrada for fornecida, a nova entrada será adicionada à medida que esta seção for lida.

old-ini-entry
Esse valor opcional especifica o nome de uma entrada na seção ini fornecida, geralmente expressa na seguinte forma:

"key=value"

Ou a chave e o valor podem ser expressos como tokens %strkey% definidos em uma seção Strings do arquivo INF. O asterisco (*) pode ser especificado como um cartão selvagem para a chave ou o valor.

new-ini-entry
Esse valor opcional especifica uma alteração para uma determinada entrada antiga ou a adição de uma nova entrada. Esse valor pode ser expresso da mesma maneira que old-ini-entry.

sinalizadores
Esse valor opcional controla a interpretação do old-ini-entry e/ou new-ini-entry fornecido. A entrada de sinalizadores pode ser um dos seguintes valores numéricos:

Valor Significado
0 Esse será o valor padrão para a entrada de sinalizadores se ela for omitida.

Se a chave de entrada antiga fornecida estiver presente nos arquivos INI, substitua key=value pela nova entrada fornecida. Somente as chaves nos arquivos INI devem corresponder. O valor correspondente de cada chave desse tipo é ignorado.

Para adicionar uma nova entrada ao arquivo INI de destino incondicionalmente, omita o valor de entrada antiga da entrada na seção update-ini do INF.

Para excluir uma entrada antiga do arquivo INI de destino incondicionalmente, omita o valor new-ini-entry .
1 Se a entrada antiga fornecida (key=value) existir nos arquivos INI, substitua-a no arquivo INI de destino que tenha a entrada new-ini fornecida. A chave e o valor da entrada antiga especificada devem corresponder àqueles nos arquivos INI para que essa substituição seja feita, não apenas suas chaves como para o valor de sinalizadores anterior.
2 Se a chave especificada para old-ini-entry não puder ser encontrada no arquivo INI de destino, não faça nada. Caso contrário, as alterações feitas dependem das correspondências encontradas nos arquivos INI para as chaves fornecidas de old-ini-entry e new-ini-entry, da seguinte maneira:

(1) Se a chave da entrada antiga existir nos arquivos INI, mas a chave da nova entrada, substitua a entrada antiga pela nova entrada no arquivo INI de destino e, em seguida, remova a nova entrada supérflua desse arquivo INI.

(2) Se a chave da entrada antiga existir nos arquivos INI, mas a chave da nova entrada não existir, substitua a chavede entrada antiga pela da entrada nova no arquivo INI de destino, mas deixe o valor da entrada antiga inalterado.
3 Se a chave e o valor especificados para old-ini-entry não puderem ser encontrados nos arquivos INI, não faça nada. Caso contrário, as alterações feitas dependem das correspondências encontradas nos arquivos INI para as chaves e valores fornecidos de old-ini-entry e new-ini-entry, da seguinte maneira:

(1) Se o valor de key= value da old-ini-entry existir nos arquivos INI, mas também o key=value da new-ini-entry, substitua old-ini-entry pela new-ini-entry no arquivo INI de destino e, em seguida, remova a nova entrada supérflua desse arquivo INI.

(2) Se o valor key= da entrada antiga existir nos arquivos INI, mas a nova entrada não existir, substitua a entrada antiga pela nova entrada no arquivo INI de destino, mas deixe o valor da entrada antiga inalterada.

Comentários

Um determinado nome update-ini-section 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.

O INF fornece o caminho completo do arquivo ini fornecido na mídia de distribuição de uma das seguintes maneiras:

  • Em arquivos INF fornecidos por IHV/OEM, usando as seções SourceDisksNames e SourceDisksFiles deste INF para especificar explicitamente o caminho completo de cada arquivo de origem nomeado que não está no diretório raiz (ou diretórios) na mídia de distribuição.

  • Em arquivos INF fornecidos pelo sistema, fornecendo um ou mais arquivos INF adicionais, identificados na entrada LayoutFile na seção Versão do arquivo INF.

Qualquer nome de arquivo especificado em um old-ini-entry ou new-ini-entry deve designar o diretório de destino que contém esse arquivo. Esse caminho de diretório de destino de um nome de arquivo em uma entrada update-ini-section deve ser especificado como um dirid. Para obter listas de possíveis valores de dirid , consulte Usando Dirids.

Confira também

Addinterface

ClassInstall32

DDInstall

DestinationDirs

Ini2Reg

InterfaceInstall32

ProfileItems

SourceDisksFiles

SourceDisksNames

Strings

UpdateIniFields

Versão