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.

Valor da assinatura Meaning
$Windows NT$ Todos os sistemas operacionais Windows
$Chicago$ Todos os sistemas operacionais Windows

Os caracteres de sinal de dólar delimitadores ($) são necessários, mas essas cadeias de caracteres não diferenciam maiúsculas de minúsculas. Se o nome da assinatura não for nenhum desses valores de cadeia de caracteres, o arquivo não será aceito como um INF válido.

Geralmente, Windows não diferencia entre 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 lendo 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 Kit de Driver do Windows (WDK).

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

Class=class-name
Para qualquer tipo padrão de dispositivo, isso especifica o nome da classe de instalaçã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 System-Supplied classes de instalação de dispositivo.

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 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 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 configuração de dispositivo predefinida nem em uma nova classe de configuração de dispositivo.

Note

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 instalaçã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 instalaçã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 propriedade 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 Como usar GUIDs em drivers. Veja também as classes de instalação do dispositivo.

Note

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

ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx}
Especifica o GUID de ID de 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 atualizadas entre si em vez de serem tratadas como INFs de extensão independentes que possam 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.

Note

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

ClassVer=major.menor
Reservado para uso do sistema, a menos que seja explicitamente exigido por uma classe de dispositivo, como Impressora. 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 Strings 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 de INF como %Msft% e definem %o Msft% = "Microsoft" em suas seções Strings.

Note

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 ao 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 WhQL Release Signature. Os arquivos de catálogo não estão listados na seção SourceDisksFiles ou na diretiva CopyFiles do INF. 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 de um INF desse tipo em relação a todos os arquivos de 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 de gato , 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 do WDM.

Se houver CatalogFile decorado.A entrada xxx= existe na seção Versão do INF, juntamente com uma entrada CatalogFile= não confirmada, supõe-se que a entrada não confirmada identifique 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 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.

Note

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 seu pacote de driver.

DriverVer=mm/dd/yyyy,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 a 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 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 com 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.

Começando com 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.

Note

Embora o PnP em 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=%driver-package-description%
Deprecated. Foi usado anteriormente pelo DIFx (Driver Install Frameworks). Para obter informações sobre a substituição do DIFx, consulte As Diretrizes do DIFx.

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

Remarks

Quando um pacote de driver passa Microsoft Windows teste do WHQL (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 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.

Note

Se uma seção versão 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 por Windows.

Para obter mais informações, consulte Driver Signing.

Examples

O exemplo a seguir mostra uma seção Version 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"
; ...

Consulte também

DDInstall

SourceDisksNames

SourceDisksFiles

Cadeias de caracteres