Partilhar via


Seção Versão INF

Por convenção, a seção Versão aparece primeiro em arquivos INF. Cada arquivo INF deve ter essa seção.

[Version]
 
Signature="signature-name"
[Class=class-name]
[ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
[Provider=%INF-creator%]
[ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]
[LayoutFile=filename.inf [,filename.inf]... ]  (Windows 2000 and Windows XP)
[CatalogFile=filename.cat]
[CatalogFile.nt=unique-filename.cat]
[CatalogFile.ntx86=unique-filename.cat]
[CatalogFile.ntia64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntamd64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntarm=unique-filename.cat]  (Windows 8 and later versions of Windows)
[CatalogFile.ntarm64=unique-filename.cat]  (Windows 10 version 1709 and later versions of Windows)

DriverVer=mm/dd/yyyy,w.x.y.z
[PnpLockDown=0|1] (Windows Vista and later versions of Windows)
[DriverPackageDisplayName=%driver-package-description%]
[DriverPackageType=PackageType]

Entradas

Assinatura="nome-da-assinatura"
Deve ser $Windows NT$ ou $Chicago$. Isso indica os sistemas operacionais para os quais esse INF é válido. Esses valores de assinatura têm os seguintes significados.

Campo Signature Significado
$Windows NT$ Todos os sistemas operacionais Windows
$Chicago$ Todos os sistemas operacionais Windows

Os caracteres de cifrão ($) são obrigatórios, mas essas cadeias de caracteres não diferenciam maiúsculas de minúsculas. Se signature-name não for nenhum desses valores de string, o arquivo não será aceito como um INF válido.

Geralmente, o Windows não diferencia entre esses valores de assinatura. Um deles deve ser especificado, mas não importa qual. Você deve especificar o valor apropriado para que alguém que leia um arquivo INF possa determinar os sistemas operacionais para os quais ele se destina.

Alguns instaladores de classe colocam requisitos adicionais sobre como o valor da assinatura deve ser especificado. Esses requisitos, se existirem, são discutidos nas seções específicas do tipo de dispositivo deste WDK (Windows Driver Kit).

Um INF deve fornecer informações de instalação específicas do sistema operacional acrescentando extensões definidas pelo sistema às suas seções DDInstall, independentemente de o nome da assinatura ser $Windows NT$ ou $Chicago$. (Veja Criando arquivos INF para várias plataformas e sistemas operacionais para uma discussão sobre essas extensões.)

Classe=nome-da-classe
Para qualquer tipo padrão de dispositivo, isso especifica o nome da classe de configuração do dispositivo para o tipo de dispositivo instalado usando esse arquivo INF. Esse nome geralmente é um dos nomes de classe definidos pelo sistema, como Net ou Display, que estão listados em Devguid.h. Para obter mais informações, consulte Classes de instalação de dispositivo fornecidas pelo sistema.

Se um INF especificar uma Classe, ele também deverá especificar o valor GUID definido pelo sistema correspondente para sua entrada ClassGUID . Especificar o valor GUID correspondente para um dispositivo de qualquer classe de instalação de dispositivo predefinida pode instalar o dispositivo e seus drivers mais rapidamente, pois isso ajuda o código de instalação do sistema a otimizar sua pesquisa INF.

Se um INF adicionar uma nova classe de instalação de dispositivos ao sistema, ele deverá fornecer um valor de nome de classe exclusivo e sem distinção entre maiúsculas e minúsculas que difere de qualquer uma das classes fornecidas pelo sistema em Devguid.h. O comprimento da cadeia de caracteres de nome de classe deve ser de 32 caracteres ou menos. O INF deve especificar um valor GUID recém-gerado para a entrada ClassGUID . Consulte também a seção INF ClassInstall32.

Essa entrada é irrelevante para um INF que não instala um novo driver de dispositivo em uma classe de instalação de dispositivo predefinida nem uma nova classe de configuração de dispositivo.

Observação

Essa entrada é necessária para drivers de dispositivo instalados por meio do gerenciador Plug and Play (PnP).

ClassGuid={nnnnnnnn-nnnn-nnnn nnnn-nn- nn}
Especifica o GUID da classe de configuração do dispositivo. O valor GUID é formatado conforme mostrado aqui, em que cada n é um dígito hexadecimal.

Esse valor GUID especifica a classe de configuração do dispositivo a ser atribuída aos dispositivos instalados desse arquivo INF. Esse valor GUID específico da classe também identifica o instalador da classe de dispositivo para o tipo de dispositivo e o provedor de página de propriedades específico da classe, se houver.

Para uma nova classe de configuração de dispositivo, o INF deve especificar um valor ClassGUID recém-gerado. Para obter mais informações sobre como criar GUIDs, consulte Usando GUIDs em drivers. Consulte também Classes de configuração do dispositivo.

Observação

Essa entrada é necessária para drivers de dispositivo instalados por meio do gerenciador PnP.

ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
Especifica o GUID da ID da extensão ao criar um INF de extensão. O valor GUID é formatado conforme mostrado aqui, em que cada x é um dígito hexadecimal.

Ao criar a versão inicial de um INF de extensão, o INF deve especificar um valor ExtensionId recém-gerado. No entanto, ao atualizar um INF de extensão existente, o ExtensionId deve permanecer o mesmo para que várias versões relacionadas do INF de extensão sejam versionadas entre si, em vez de serem tratadas como INFs de extensão independentes que podem ser instaladas simultaneamente na mesma instância do dispositivo. Para obter mais informações sobre como criar INFs de extensão, consulte Usando um arquivo INF de extensão.

Observação

Essa entrada só é necessária ao criar uma extensão INF, conforme identificado pela especificação Class = Extension e ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}.

ClassVer=major.menor
Reservado para uso do sistema, a menos que explicitamente exigido por uma classe de dispositivo, como Impressora. Por exemplo, consulte INF do driver V4.

Provedor=%INF-criador%
Identifica o provedor do arquivo INF. Normalmente, isso é especificado como um %token OrganizationName% que é expandido posteriormente na seção Cadeias de caracteres do arquivo INF. O comprimento máximo, em caracteres, de um nome de provedor é LINE_LEN.

Por exemplo, os arquivos INF fornecidos com o sistema normalmente especificam o criador INF como %Msft% e definem% Msft% = "Microsoft" em suas seções Cadeias de Caracteres.

Observação

Essa entrada é necessária para drivers de dispositivo instalados por meio do gerenciador PnP.

CatalogFile=filename.cat
Especifica um catálogo (.cat) a ser incluído na mídia de distribuição de um pacote de driver.

Quando um pacote de driver é enviado à Microsoft para assinatura digital, o WHQL fornece um arquivo de catálogo para o pacote de driver depois que o WHQL testou e atribuiu assinaturas digitais ao pacote. Para obter mais informações sobre o teste e a assinatura de pacotes de driver IHV ou OEM, consulte Assinatura de versão WHQL. Os arquivos de catálogo não estão listados na seção SourceDisksFiles ou na diretiva CopyFiles do INF. O Windows pressupõe que o arquivo de catálogo esteja no mesmo local que o arquivo INF.

Os arquivos INF fornecidos pelo sistema nunca têm entradas CatalogFile= porque o sistema operacional valida a assinatura desse INF em relação a todos os arquivos xxx.cat fornecidos pelo sistema.

CatalogFile.nt=nome-do-arquivo-exclusivo.cat |
FicheiroCatálogo.ntx86=nome-do-ficheiro-único.cat |
FicheiroCatálogo.ntia64=nome-do-ficheiro-único.cat |
FicheiroCatálogo.ntamd64=nome-do-ficheiro-único.cat
CatalogFile.ntarm=nome-do-arquivo-exclusivo.cat
CatalogFile.ntarm64=nome-do-arquivo-exclusivo.cat

Especifica outro nome de arquivo exclusivo determinado pelo gravador INF, com o .cat , de um arquivo de catálogo. Se essas entradas opcionais forem omitidas, um determinado CatalogFile=filename.cat será usado para validar instalações de dispositivo/driver WDM.

Se algum CatalogFile decorado.= xxx existe em uma seção Version do INF junto com uma entrada CatalogFile= não decorada, a entrada não decorada é assumida para identificar um filename.cat para validar instalações de dispositivo, instalações de driver ou ambas nas plataformas para as quais uma entrada decorada não é especificada.

Qualquer arquivo INF de driver de dispositivo multiplataforma que tenha CatalogFile= e CatalogFile.= xxx devem fornecer um nome exclusivo determinado por IHV/OEM para cada arquivo .cat.

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.

Observação

Como o mesmo arquivo .cat pode ser usado em todas as plataformas com suporte, o uso dessa entrada não é necessário ou recomendado. No entanto, você deve usar essa entrada se quiser criar arquivos .cat específicos da plataforma para o pacote de driver.

DriverVer= mm/dd/aaaa,w.x.y.z
Essa entrada especifica informações de versão para drivers instalados por esse arquivo INF. A partir do Windows 2000, essa entrada é necessária.

Para obter informações sobre como especificar essa entrada, consulte Diretiva INF DriverVer.

PnpLockDown=0|1
Especifica se o PnP (Plug and Play) impede que os aplicativos modifiquem diretamente os arquivos especificados pelo arquivo INF de um pacote de driver. Se a diretiva PnpLockDown for definida como 1, o PnP impedirá que os aplicativos modifiquem diretamente os arquivos copiados pelas diretivas INF CopyFiles . Caso contrário, se a diretiva não estiver incluída em um arquivo INF ou o valor da diretiva estiver definido como zero, um aplicativo que tenha privilégios de administrador poderá modificar diretamente esses arquivos. Os arquivos de driver protegidos dessa maneira são chamados de arquivos de driver protegidos por terceiros.

Para garantir a integridade de uma instalação de driver PnP, os aplicativos não devem modificar diretamente os arquivos de driver copiados pelo arquivo INF do pacote de driver. Os aplicativos só devem usar os mecanismos de instalação do dispositivo fornecidos pelo Windows para atualizar drivers PnP.

A partir do Windows Vista, um pacote de driver deve definir PnpLockDown como 1 para impedir que um aplicativo modifique diretamente os arquivos de driver. No entanto, alguns aplicativos existentes que desinstalam pacotes de driver excluem diretamente os arquivos de driver. Para manter a compatibilidade com esses aplicativos, a diretiva PnpLockDown para esse pacote de driver deve ser definida como zero.

Observação

Embora o PnP no Windows Vista e versões posteriores do Windows não exija que um arquivo INF inclua uma diretiva PnpLockDown para instalar um driver, o PnP em uma versão futura do Windows pode exigir que os arquivos INF para pacotes de driver PnP incluam a diretiva PnpLockDown.

DriverPackageDisplayName=%descrição do pacote de driver%
Preterido. Foi usado anteriormente por DIFx (Estruturas de Instalação de Driver). Para obter informações sobre a substituição do DIFx, consulte Diretrizes do DIFx.

DriverPackageType= PackageType
Preterido. Foi usado anteriormente por DIFx (Estruturas de Instalação de Driver). Para obter informações sobre a substituição do DIFx, consulte Diretrizes do DIFx.

Comentários

Quando um pacote de driver passa no teste WHQL (Laboratório de Qualidade de Hardware) do Microsoft Windows, o WHQL retorna arquivos de catálogo .cat para o IHV ou OEM. Cada arquivo .cat contém uma assinatura criptografada digitalmente para o pacote de driver. O IHV ou OEM deve listar esses arquivos .cat na seção Versão INF e deve fornecer os arquivos na mídia de distribuição, no mesmo local que o arquivo INF. Os arquivos .cat devem ser descompactados.

Observação

Se uma seção Versão INF não incluir pelo menos uma entrada CatalogFile ou CatalogFile.ntxxx, o driver será tratado como não assinado e as datas listadas na diretiva DriverVer não serão exibidas pelo Windows.

Para obter mais informações, consulte Assinatura de driver.

Exemplos

O exemplo a seguir mostra uma seção Version típica de um INF de pacote de driver simples, seguida pelas seções SourceDisksNames e SourceDisksFiles necessárias implícitas nas entradas especificadas nesta seção Version de exemplo:

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_Provider%
CatalogFile=example.cat
DriverVer=01/29/2010,1.2.3.4
PnpLockdown=1

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %Disk_Description%,,,\WinNT

[SourceDisksFiles.x86]
;
; filename_on_source = diskID[, [subdir][, size]]
;
exampleDriver.sys = 1,\x86

; ...

[Strings]
INF_Provider="Contoso"
Disk_Description = "Contoso Drivers Disk"
; ...

Confira também

DDInstall

Nomes de Discos de Origem

Arquivos de Discos de Origem

Cadeias de caracteres