Section Version INF
Par convention, la section Version apparaît en premier dans les fichiers INF. Chaque fichier INF doit avoir cette section.
[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]
Entries
Signature="signature-name »
Doit être $Windows NT$ ou $Chicago$. Cela indique les systèmes d’exploitation pour lesquels ce inf est valide. Ces valeurs de signature ont les significations suivantes.
Valeur de la signature | Signification |
---|---|
$Windows NT$ | Tous les systèmes d’exploitation Windows |
$Chicago$ | Tous les systèmes d’exploitation Windows |
Les caractères de signe dollar englobant ($) sont requis, mais ces chaînes ne respectent pas la casse. Si le nom de signature n’est pas de ces valeurs de chaîne, le fichier n’est pas accepté comme inf valide.
En règle générale, Windows ne distingue pas ces valeurs de signature. L’une d’entre elles doit être spécifiée, mais elle n’a pas d’importance. Vous devez spécifier la valeur appropriée afin que quelqu’un lisant un fichier INF puisse déterminer les systèmes d’exploitation pour lesquels il est destiné.
Certains programmes d’installation de classe mettent des exigences supplémentaires sur la façon dont la valeur de signature doit être spécifiée. Ces exigences, le cas échéant, sont décrites dans les sections spécifiques au type d’appareil de ce Kit de pilotes Windows (WDK).
Un INF doit fournir des informations d’installation spécifiques au système d’exploitation en ajoutant des extensions définies par le système à ses sections DDInstall, que le nom de signature soit $Windows NT$ ou $Chicago$. (Voir Création de fichiers INF pour plusieurs plateformes et systèmes d’exploitation pour une discussion sur ces extensions.)
Class=class-name
Pour tout type standard d’appareil, cela spécifie le nom de la classe de configuration de l’appareil pour le type d’appareil installé à l’aide de ce fichier INF. Ce nom est généralement l’un des noms de classes définis par le système, tels que Net ou Display, répertoriés dans Devguid.h. Pour plus d’informations, consultez Classes de configuration d’appareil fournies par le système.
Si un INF spécifie une classe, il doit également spécifier la valeur GUID définie par le système correspondante pour son entrée ClassGUID . La spécification de la valeur GUID correspondante pour un appareil d’une classe de configuration d’appareil prédéfinie peut installer l’appareil et ses pilotes plus rapidement, car cela permet au code de configuration du système d’optimiser sa recherche INF.
Si un inf ajoute une nouvelle classe d’installation d’appareils au système, il doit fournir une valeur de nom de classe non sensible à la casse unique qui diffère de l’une des classes fournies par le système dans Devguid.h. La longueur de la chaîne de nom de classe doit être de 32 caractères ou moins. L’inf doit spécifier une valeur GUID nouvellement générée pour l’entrée ClassGUID . Consultez également la section INF ClassInstall32.
Cette entrée n’est pas pertinente pour un INF qui n’installe ni un nouveau pilote de périphérique sous une classe de configuration d’appareil prédéfinie ni une nouvelle classe de configuration d’appareil.
Remarque
Cette entrée est requise pour les pilotes de périphérique installés via le gestionnaire Plug-and-Play (PnP).
ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn nnnn nnnnnn}-
Spécifie le GUID de la classe d’installation de l’appareil. La valeur GUID est mise en forme comme indiqué ici, où chaque n est un chiffre hexadécimal.
Cette valeur GUID spécifie la classe d’installation d’appareil à affecter aux appareils installés à partir de ce fichier INF. Cette valeur GUID spécifique à la classe identifie également le programme d’installation de classe pour le type de fournisseur de pages de propriétés spécifique à l’appareil et à la classe, le cas échéant.
Pour une nouvelle classe d’installation d’appareil, l’inf doit spécifier une valeur ClassGUID nouvellement générée. Pour plus d’informations sur la création de GUID, consultez Utilisation des GUID dans les pilotes. Consultez également les classes d’installation de l’appareil.
Remarque
Cette entrée est requise pour les pilotes de périphérique installés via le gestionnaire PnP.
ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
Spécifie le GUID de l’ID d’extension lors de la création d’une extension INF. La valeur GUID est mise en forme comme indiqué ici, où chaque x est un chiffre hexadécimal.
Lors de la création de la version initiale d’une extension INF, l’inf doit spécifier une valeur ExtensionId nouvellement générée. Toutefois, lors de la mise à jour d’une extension INF existante, l’ID d’extension doit rester le même afin que plusieurs versions associées de l’extension INF soient mises en version les unes contre les autres au lieu d’être traitées comme des INF d’extension indépendantes qui peuvent être installées simultanément sur la même instance d’appareil. Pour plus d’informations sur la création d’infs d’extension, consultez Utilisation d’un fichier INF d’extension.
Remarque
Cette entrée n’est requise que lors de la création d’un INF d’extension, comme identifié en spécifiant Class = Extension
et ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}
.
ClassVer=major.mineur
Réservé à l’utilisation du système, sauf si une classe d’appareil est explicitement requise par une classe d’appareil telle que Printer. Par exemple, consultez l’INF du pilote V4.
Provider=%INF-creator%
Identifie le fournisseur du fichier INF. En règle générale, il s’agit d’un %jeton OrganizationName% développé ultérieurement dans la section Chaînes du fichier INF. La longueur maximale, en caractères, d’un nom de fournisseur est LINE_LEN.
Par exemple, les fichiers INF fournis avec le système spécifient généralement le créateur INF en tant que% Msft et définissent %Msft%% = « Microsoft » dans leurs sections Chaînes.
Remarque
Cette entrée est requise pour les pilotes de périphérique installés via le gestionnaire PnP.
CatalogFile=filename.cat
Spécifie un catalogue (.fichier cat) à inclure sur le support de distribution d’un package de pilotes.
Lorsqu’un package de pilotes est envoyé à Microsoft pour la signature numérique, WHQL fournit un fichier catalogue pour le package de pilotes après que WHQL a testé et affecté des signatures numériques au package. Pour plus d’informations sur le test et la signature des packages de pilotes IHV ou OEM, consultez signature de publication WHQL. Les fichiers catalogue ne sont pas répertoriés dans la section SourceDisksFiles ou la directive CopyFiles de l’INF. Windows part du principe que le fichier catalogue se trouve dans le même emplacement que le fichier INF.
Les fichiers INF fournis par le système n’ont jamais d’entrées CatalogFile= car le système d’exploitation valide la signature d’un tel INF sur tous les fichiers xxx.cat fournis par le système.
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
Spécifie un autre nom de fichier unique déterminé par l’enregistreur INF, avec le fichier .extension cat , d’un fichier catalogue. Si ces entrées facultatives sont omises, un CatalogFile=filename.cat donné est utilisé pour valider les installations de périphérique/de pilote WDM.
S’il existe un CatalogFile décoré.L’entrée xxx= existe dans la section Version d’un INF, ainsi qu’une entrée CatalogFile= non décorée, l’entrée non décorée est supposée identifier une filename.cat pour valider les installations de périphériques, les installations de pilotes ou les deux sur ces plateformes pour lesquelles une entrée décorée n’est pas spécifiée.
Tout fichier INF du pilote de périphérique multiplateforme qui a CatalogFile= et CatalogFile.Les entrées xxx= doivent fournir un nom unique déterminé par IHV/OEM pour chaque fichier .cat.
Pour plus d’informations sur l’utilisation des extensions .nt définies par le système, .ntx86, .ntia64, .ntamd64, .ntarm et .ntarm64, consultez Création de fichiers INF pour plusieurs plateformes et systèmes d’exploitation.
Remarque
Étant donné que le même fichier .cat peut être utilisé sur toutes les plateformes prises en charge, l’utilisation de cette entrée n’est pas obligatoire ou recommandée. Toutefois, vous devez utiliser cette entrée si vous souhaitez créer des fichiers .cat spécifiques à la plateforme pour votre package de pilotes.
DriverVer= mm/dd/aaaa,w.x.y.z
Cette entrée spécifie les informations de version pour les pilotes installés par ce fichier INF. À compter de Windows 2000, cette entrée est requise.
Pour plus d’informations sur la façon de spécifier cette entrée, consultez la directive INF DriverVer.
PnpLockDown=0|1
Spécifie si Plug-and-Play (PnP) empêche les applications de modifier directement les fichiers spécifiés par le fichier INF d’un package de pilotes. Si la directive PnpLockDown est définie sur 1, PnP empêche les applications de modifier directement les fichiers copiés par les directives CopyFiles INF. Sinon, si la directive n’est pas incluse dans un fichier INF ou si la valeur de la directive est définie sur zéro, une application disposant de privilèges d’administrateur peut modifier directement ces fichiers. Les fichiers de pilotes protégés de cette façon sont appelés fichiers de pilotes protégés par des tiers.
Pour garantir l’intégrité d’une installation de pilote PnP, les applications ne doivent pas modifier directement les fichiers de pilotes copiés par le fichier INF du package de pilotes. Les applications doivent uniquement utiliser les mécanismes d’installation des appareils fournis par Windows pour mettre à jour les pilotes PnP.
À compter de Windows Vista, un package de pilotes doit définir PnpLockDown sur 1 pour empêcher une application de modifier directement les fichiers du pilote. Toutefois, certaines applications existantes qui désinstallent les packages de pilotes suppriment directement les fichiers de pilotes. Pour maintenir la compatibilité avec ces applications, la directive PnpLockDown pour ce package de pilotes doit être définie sur zéro.
Remarque
Bien que PnP sur Windows Vista et les versions ultérieures de Windows ne nécessitent pas qu’un fichier INF inclue une directive PnpLockDown pour installer un pilote, PnP dans une version ultérieure de Windows peut nécessiter que les fichiers INF pour les packages de pilotes PnP incluent la directive PnpLockDown.
DriverPackageDisplayName=%driver-package-description%
Déconseillé. Était précédemment utilisé par Driver Install Frameworks (DIFx). Pour plus d’informations sur la dépréciation de DIFx, consultez les instructions DIFx.
DriverPackageType= PackageType
Déconseillé. Était précédemment utilisé par Driver Install Frameworks (DIFx). Pour plus d’informations sur la dépréciation de DIFx, consultez les instructions DIFx.
Notes
Lorsqu’un package de pilotes transmet les tests WHQL (Hardware Quality Lab) Microsoft Windows, WHQL retourne les fichiers catalogue .cat à l’IHV ou à l’OEM. Chaque fichier .cat contient une signature chiffrée numériquement pour le package de pilotes. IHV ou OEM doit répertorier ces fichiers .cat dans la section Version INF et fournir les fichiers sur le support de distribution, dans le même emplacement que le fichier INF. Les fichiers .cat doivent être décompressés.
Remarque
Si une section version INF n’inclut pas au moins une entrée CatalogFile ou CatalogFile.ntxxx, le pilote est traité comme non signé et les dates répertoriées dans la directive DriverVer ne sont pas affichées par Windows.
Pour plus d’informations, consultez Signature du pilote.
Exemples
L’exemple suivant montre une section Version typique d’un inf de package de pilotes simple, suivie des sections SourceDisksNames et SourceDisksFiles requises implicites par les entrées spécifiées dans cet exemple de section Version :
[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"
; ...