Avsnittet INF-version

Enligt konventionen visas avsnittet Version först i INF-filer. Varje INF-fil måste ha det här avsnittet.

[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]

Inlägg

Signature="signature-name"
Måste vara $Windows NT$ eller $Chicago$. Detta anger vilka operativsystem som inf-filen är giltig för. Dessa signaturvärden har följande betydelser.

Signaturvärde Meaning
$Windows NT$ Alla Windows operativsystem
$Chicago$ Alla Windows operativsystem

De omslutande dollarteckentecken ($) krävs, men dessa strängar är skiftlägeskänsliga. Om signature-name inte är något av dessa strängvärden godkänns inte filen som en giltig INF.

I allmänhet skiljer Windows inte mellan dessa signaturvärden. En av dem måste anges, men det spelar ingen roll vilken. Du bör ange lämpligt värde så att någon som läser en INF-fil kan fastställa vilka operativsystem som den är avsedd för.

Vissa klassinstallationsprogram ställer ytterligare krav på hur signaturvärdet måste anges. Sådana krav, om de finns, beskrivs i enhetstypspecifika avsnitt i den här Windows-drivrutinspaket (WDK).

En INF måste ange OS-specifik installationsinformation genom att lägga till systemdefinierade tillägg i dess DDInstall-avsnitt, oavsett om signaturnamnet är $Windows NT$ eller $Chicago$. (Se Skapa INF-filer för flera plattformar och operativsystem för en diskussion om dessa tillägg.)

Class=class-name
För alla standardtyper av enheter anger detta namnet på enhetsinstallationsklassen för den typ av enhet som installeras med hjälp av den här INF-filen. Det här namnet är vanligtvis ett av de systemdefinierade klassnamnen, till exempel Net eller Display, som visas i Devguid.h. Mer information finns iSystem-Supplied installationsklasser för enheter.

Om en INF anger en klass bör den också ange motsvarande systemdefinierade GUID-värde för sin ClassGUID-post . Om du anger det matchande GUID-värdet för en enhet i en fördefinierad enhetsinstallationsklass kan du installera enheten och dess drivrutiner snabbare eftersom detta hjälper systemkonfigurationskoden att optimera inf-sökningen.

Om en INF lägger till en ny installationsklass av enheter i systemet bör den ange ett unikt, skiftlägesokänsligt klassnamnsvärde som skiljer sig från någon av de systemspecifika klasserna i Devguid.h. Längden på klassnamnssträngen måste vara högst 32 tecken. INF måste ange ett nyligen genererat GUID-värde för posten ClassGUID . Se även avsnittet INF ClassInstall32.

Den här posten är irrelevant för en INF som varken installerar en ny enhetsdrivrutin under en fördefinierad enhetsinstallationsklass eller en ny enhetsinstallationsklass.

Note

Den här posten krävs för enhetsdrivrutiner som installeras via PnP-hanteraren (technológia Plug and Play).

ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnn nnnnnnnnn}
Anger enhetskonfigurationsklassens GUID. GUID-värdet formateras som det visas här, där varje n är en hexadecimal siffra.

Det här GUID-värdet anger enhetskonfigurationsklassen som ska tilldelas till enheter som är installerade från den här INF-filen. Det här klassspecifika GUID-värdet identifierar även installationsprogrammet för enhetsklassen för den typ av enhet och klassspecifik egenskapssida som finns.

För en ny enhetskonfigurationsklass måste INF ange ett nyligen genererat ClassGUID-värde . Mer information om hur du skapar GUID finns i Använda GUID i Drivrutiner. Se även Installationsklasser för enheter.

Note

Den här posten krävs för enhetsdrivrutiner som installeras via PnP-hanteraren.

ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
Anger tilläggs-ID GUID när du skapar ett tilläggs-INF. GUID-värdet formateras som det visas här, där varje x är en hexadecimal siffra.

När du skapar den första versionen av ett tilläggs-INF måste INF ange ett nyligen genererat ExtensionId-värde . Men när du uppdaterar ett befintligt tilläggs-INF måste ExtensionId förbli detsamma så att flera relaterade versioner av tillägget INF versionshanteras mot varandra i stället för att behandlas som oberoende tilläggs-INF:er som kan installeras samtidigt på samma enhetsinstans. Mer information om hur du skapar tilläggs-INF:er finns i Använda en INF-fil för tillägg.

Note

Den här posten krävs bara när du skapar ett inf-tillägg, vilket identifieras genom att Class = Extension ange och ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}.

ClassVer=major.mindre
Reserverad för systemanvändning om det inte uttryckligen krävs av en enhetsklass, till exempel Skrivare. Se till exempel INF för V4-drivrutin.

Provider=%INF-skapare%
Identifierar INF-filens provider. Detta anges vanligtvis som en %OrganizationName-token% som expanderas senare i avsnittet Strängar i INF-filen. Den maximala längden, i tecken, för ett providernamn är LINE_LEN.

INF-filer som medföljer systemet anger till exempel vanligtvis INF-skaparen som %Msft% och definierar %Msft% = "Microsoft" i avsnitten Strängar.

Note

Den här posten krävs för enhetsdrivrutiner som installeras via PnP-hanteraren.

CatalogFile=filename.cat
Anger en katalog (.cat)-fil som ska ingå i distributionsmedia för ett drivrutinspaket.

När ett drivrutinspaket skickas till Microsoft för digital signering tillhandahåller WHQL en katalogfil för drivrutinspaketet när WHQL har testat och tilldelat digitala signaturer till paketet. Mer information om testning och signering av IHV- eller OEM-drivrutinspaket finns i WHQL-versionssignatur. Katalogfiler visas inte i avsnittet SourceDisksFiles eller CopyFiles-direktivet i INF. Windows förutsätter att katalogfilen finns på samma plats som INF-filen.

Systemangivna INF-filer har aldrig CatalogFile= -poster eftersom operativsystemet validerar signaturen för en sådan INF mot alla xxx.cat filer som tillhandahålls av systemet.

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

Anger ett annat INF-skrivarbestämt, unikt filnamn med . katttillägg för en katalogfil. Om dessa valfria poster utelämnas används en viss CatalogFile=filename.cat för att validera WDM-enhets-/drivrutinsinstallationer.

Om någon dekorerad KatalogFile.xxx= post finns i en INF version avsnitt tillsammans med en odecorated CatalogFile = post, den odecorated posten antas identifiera en filename.cat för validering av enhetsinstallationer, drivrutinsinstallationer eller båda på de plattformar som en dekorerad post inte har angetts för.

Alla inf-filer för plattformsoberoende enhetsdrivrutiner som har CatalogFile= och CatalogFile.xxx-poster= måste ange ett unikt IHV/OEM-fastställt namn för varje sådan .cat-fil.

Mer information om hur du använder systemdefinierade tilläggen .nt, .ntx86, .ntia64, .ntamd64, .ntarm och .ntarm64 finns i Skapa INF-filer för flera plattformar och operativsystem.

Note

Eftersom samma .cat-fil kan användas på alla plattformar som stöds krävs inte den här posten eller rekommenderas inte. Du måste dock använda den här posten om du vill skapa plattformsspecifika .cat-filer för drivrutinspaketet.

DriverVer=mm/dd/åååå,w.x.y.z
Den här posten anger versionsinformation för drivrutiner som installeras av den här INF-filen. Från och med Windows 2000 krävs den här posten.

Information om hur du anger den här posten finns i INF DriverVer-direktivet.

PnpLockDown=0|1
Anger om technológia Plug and Play (PnP) hindrar program från att direkt ändra de filer som ett drivrutinspakets INF-fil anger. Om PnpLockDown-direktivet är inställt på 1 hindrar PnP program från att direkt ändra de filer som kopieras av INF CopyFiles-direktiv . Om direktivet inte ingår i en INF-fil eller om värdet för direktivet är inställt på noll, kan ett program som har administratörsbehörighet direkt ändra dessa filer. Drivrutinsfiler som skyddas på det här sättet kallas för skyddade drivrutinsfiler från tredje part.

För att säkerställa integriteten för en PnP-drivrutinsinstallation bör program inte direkt ändra drivrutinsfiler som kopieras av drivrutinspaketets INF-fil. Program bör endast använda de enhetsinstallationsmekanismer som tillhandahålls av Windows för att uppdatera PnP-drivrutiner.

Från och med Windows Vista bör ett drivrutinspaket ange PnpLockDown till 1 för att förhindra att ett program ändrar drivrutinsfilerna direkt. Vissa befintliga program som avinstallerar drivrutinspaket tar dock bort drivrutinsfiler direkt. För att upprätthålla kompatibiliteten med dessa program bör PnpLockDown-direktivet för ett sådant drivrutinspaket vara inställt på noll.

Note

Även om PnP på Windows Vista och senare versioner av Windows inte kräver att en INF-fil innehåller ett PnpLockDown-direktiv för att installera en drivrutin, kan PnP i en framtida version av Windows kräva att INF-filer för PnP-drivrutinspaket innehåller PnpLockDown-direktivet.

DriverPackageDisplayName=%driver-package-description%
Deprecated. Användes tidigare av Drivrutinsinstallationsramverk (DIFx). Information om DIFx-utfasningen finns i DIFx-riktlinjer.

DriverPackageType=PackageType
Deprecated. Användes tidigare av Drivrutinsinstallationsramverk (DIFx). Information om DIFx-utfasningen finns i DIFx-riktlinjer.

Remarks

När ett drivrutinspaket skickar Microsoft Windows WHQL-testning (Hardware Quality Lab) returnerar WHQL .cat-katalogfiler till IHV eller OEM. Varje .cat-fil innehåller en digitalt krypterad signatur för drivrutinspaketet. IHV- eller OEM-tillverkaren måste lista dessa .cat-filer i avsnittet INF-version och måste ange filerna på distributionsmediet på samma plats som INF-filen. .cat-filerna måste vara okomprimerade.

Note

Om avsnittet INF-version inte innehåller minst en CatalogFile- eller CatalogFile.ntxxx-post behandlas drivrutinen som osignerad och datumen som anges i DriverVer-direktivet visas inte av Windows.

Mer information finns i Signering av drivrutiner.

Examples

I följande exempel visas ett versionsavsnitt som är typiskt för ett enkelt drivrutinspaket INF, följt av de obligatoriska avsnitten SourceDisksNames och SourceDisksFiles som anges av de poster som anges i det här avsnittet versionsexempel :

[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"
; ...

Se även

DDInstall

SourceDisksNames

SourceDisksFiles

Strängar