Share via


Seção Versão do INF

Por convenção, a seção Versão aparece primeiro em arquivos INF. Cada arquivo INF deve ter esta 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

Signature="signature-name"
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 delimitadores ($) são necessários, mas essas cadeias de caracteres não diferenciam maiúsculas de minúsculas. Se signature-name não for nenhum desses valores de cadeia de caracteres, o arquivo não será aceito como um INF válido.

Em geral, o Windows não diferencia esses valores de assinatura. Um deles deve ser especificado, mas não importa qual deles. Você deve especificar o valor apropriado para que alguém que lê 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 em seções específicas do tipo de dispositivo deste WDK (Kit de Driver do Windows).

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

Class=class-name
Para qualquer tipo de dispositivo padrão, 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 configuraçã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 que não diferencia maiúsculas de 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 ter 32 caracteres ou menos. O INF deve especificar um valor de GUID recém-gerado para a entrada ClassGUID . Consulte também a Seção ClassInstall32 do INF.

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

Observação

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

ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
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 a dispositivos instalados a partir desse arquivo INF. Esse valor de GUID específico da classe também identifica o instalador de classe de dispositivo para o tipo de dispositivo e 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 instalação de dispositivo.

Observação

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

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

Ao criar a versão inicial de uma extensão INF, o INF deve especificar um valor ExtensionId recém-gerado. No entanto, ao atualizar um INF de extensão existente, a ExtensionId deve permanecer a mesma para que várias versões relacionadas da extensão INF sejam com controle de versão 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 de 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 Printer. Por exemplo, consulte INF do driver V4.

Provider=%INF-creator%
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 INF-creator como %Msft% e definem %Msft% = "Microsoft" em suas seções Strings .

Observação

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

CatalogFile=filename.cat
Especifica um catálogo (.cat) arquivo 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 após o WHQL ter testado e atribuído 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 do 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 para tal INF em relação a todos os arquivos xxx.cat fornecidos pelo sistema.

CatalogFile.nt=unique-filename.cat |
CatalogFile.ntx86=unique-filename.cat |
CatalogFile.ntia64=unique-filename.cat |
CatalogFile.ntamd64=unique-filename.cat
CatalogFile.ntarm=unique-filename.cat
CatalogFile.ntarm64=unique-filename.cat

Especifica outro nome de arquivo exclusivo determinado pelo gravador INF, com o . extensã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= entry exists in an INF's Version section together with an undecorated CatalogFile= entry, the undecorated entry is assume to identifi a filename.cat for validating device installations, driver installations, or both on those platforms for which a decorated entry is not specified.

Qualquer arquivo INF do driver de dispositivo multiplataforma que tenha CatalogFile= e CatalogFile.As entradas 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 nem recomendado. No entanto, você deve usar essa entrada se quiser criar arquivos .cat específicos da plataforma para seu 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 DriverVer do INF.

PnpLockDown=0|1
Especifica se Plug and Play (PnP) 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 CopyFiles do INF. Caso contrário, se a diretiva não estiver incluída em um arquivo INF ou o valor da diretiva for 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 devem usar apenas 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 do driver. No entanto, alguns aplicativos existentes que desinstalam pacotes de driver excluem diretamente 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 exijam 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=%driver-package-description%
Preterido. Foi usado anteriormente pelo DIFx (Driver Install Frameworks). Para obter informações sobre a substituição do DIFx, consulte Diretrizes do DIFx.

DriverPackageType=PackageType
Preterido. Foi usado anteriormente pelo DIFx (Driver Install Frameworks). Para obter informações sobre a substituição do DIFx, consulte Diretrizes do DIFx.

Comentários

Quando um pacote de driver passa nos testes do WHQL (Microsoft Windows Hardware Quality Lab), o WHQL retorna arquivos do 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 o OEM devem listar esses arquivos .cat na seção Versão do INF e devem 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 do INF não incluir pelo menos uma entrada CatalogFile ou CatalogFile.ntxxx , o driver será tratado como sem sinal 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 Versão típica de um pacote de driver simples INF, seguida pelas seções SourceDisksNames e SourceDisksFiles necessárias implícitas pelas entradas especificadas nesta seção de versão 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

SourceDisksNames

SourceDisksFiles

Cadeias de caracteres