Partager via


Inf AddProperty, directive

Une directive AddProperty référence une ou plusieurs sections de fichier INF qui modifient les propriétés de l’appareil définies pour une instance d’appareil, un conteneur d’appareils, une classe de configuration d’appareil, une classe d’interface d’appareil ou une interface d’appareil.

[DDInstall] |
[DDInstall.nt] |
[DDInstall.ntx86] |
[DDInstall.ntia64] |
[DDInstall.ntamd64] |
[DDInstall.ntarm] |
[DDInstall.ntarm64]
[ClassInstall32] | 
[ClassInstall32.nt] | 
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[interface-install-section] | 
[interface-install-section.nt] | 
[interface-install-section.ntx86] | 
[interface-install-section.ntia64] | (Windows XP and later versions of Windows)
[interface-install-section.ntamd64] | (Windows XP and later versions of Windows) |
[interface-install-section.ntarm] | (Windows 8 and later versions of Windows) |
[interface-install-section.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[add-interface-section]

AddProperty=add-property-section[,add-property-section]...  (Windows Vista and later versions of Windows)
...

Chaque section add-property-section peut avoir des entrées pour effectuer les opérations suivantes :

  • Ajoutez une propriété d’appareil et initialisez la valeur de la propriété.

  • Modifiez la valeur d’une propriété d’appareil existante.

Une section add-property référencée par une directive AddProperty a le format suivant :

[add-property-section]
(property-name, , , [flags], value) | 
({property-category-guid}, property-pid, type, [flags], value)
...

Une section ajouter une propriété peut avoir n’importe quel nombre d’entrées de nom de propriété ou d’entrées de guid de propriété , chacune sur une ligne distincte.

Entries

property-name
L’un des noms de propriétés suivants qui représentent les propriétés du package de pilotes d’instance de périphérique :

  • DeviceModel

  • DeviceVendorWebsite

  • DeviceDetailedDescription

  • DeviceDocumentationLink

  • DeviceIcon

  • DeviceBrandingIcon

Pour plus d’informations sur l’ajout d’icônes d’appareil personnalisées, consultez Fournir des icônes pour un appareil.

L’un des noms de propriétés suivants qui représentent les propriétés du package de pilotes de conteneur d’appareils.

  • ContainerModelName

  • ContainerManufacturer

  • ContainerCategories

  • ContainerIcon

Pour plus d’informations sur la spécification des informations qui décrivent l’appareil physique, consultez Métadonnées du conteneur de package de pilotes

property-category-guid
Valeur GUID qui identifie la catégorie de propriété. La valeur GUID peut être un GUID défini par le système qui identifie l’une des catégories de propriétés d’une instance d’appareil, une classe d’installation d’appareil, une classe d’interface d’appareil ou une interface d’appareil. Toutes les propriétés qui ont la même valeur GUID sont membres de la même catégorie. Ces catégories de propriétés sont définies dans Devpkey.h.

La valeur GUID peut également être une valeur GUID personnalisée qui identifie une catégorie de propriété personnalisée.

property-pid
Identificateur de propriété qui indique la propriété spécifique dans la catégorie de propriété indiquée par la valeur property-category-guid . Pour des raisons système internes, un identificateur de propriété doit être supérieur ou égal à deux.

type
Valeur numérique, au format décimal ou hexadécimal, de l’identificateur de type de données de propriété pour la propriété spécifiée par la valeur property-category-guid et la valeur propriété-pid . Seuls les types de données de base suivants sont pris en charge :

  • DEVPROP_TYPE_STRING

  • DEVPROP_TYPE_STRING_LIST

  • DEVPROP_TYPE_BINARY

  • DEVPROP_TYPE_BOOLEAN

  • DEVPROP_TYPE_UINT32

Par exemple, la valeur décimale du type de données DEVPROP_TYPE_STRING est 18 (0x00000012) et la valeur décimale du type de données DEVPROP_TYPE_STRING_LIST est 8210 (0x00002012).

indicateurs
Valeur hexadécimale facultative qui est une OR au niveau du bit des indicateurs suivants qui contrôlent l’opération d’ajout :

0x00000001 (FLG_ADDPROPERTY_NOCLOBBER )
Indicateur qui empêche la valeur d’entrée de valeur de remplacer la valeur de propriété existante. Si un enregistreur de pilotes souhaite remplacer une propriété par le biais de directives Include et Needs , l’enregistreur doit spécifier cet indicateur pour cette propriété. Cela est dû au fait que Windows traite les sections INF référencées par les directives Include et Needs après que Windows traite toutes les autres directives de la section INF qui incluaient les directives Include et Needs .

0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY )
Indicateur qui définit la valeur de propriété sur la valeur d’entrée de valeur uniquement si la propriété spécifiée existe déjà.

0x00000004 (FLG_ADDPROPERTY_APPEND )
Indicateur qui ajoute la valeur d’entrée de valeur à celle d’une valeur de chaîne de propriété existante. Cet indicateur est valide uniquement si le type de données de propriété est DEVPROP_TYPE_STRING_LIST. La chaîne fournie n’est pas ajoutée à une valeur de chaîne de propriété existante si la chaîne fournie est déjà présente dans la valeur de chaîne existante.

0x00000008 (FLG_ADDPROPERTY_OR )
Indicateur qui effectue une or au niveau du bit de la valeur d’entrée de valeur à celle de la valeur de propriété existante. Cet indicateur est valide uniquement si le type de données de propriété est DEVPROP_TYPE_UINT32.

0x00000010 (FLG_ADDPROPERTY_AND )
Indicateur qui effectue un bit AND de la valeur d’entrée de valeur à celle de la valeur de propriété existante. Cet indicateur est valide uniquement si le type de données de propriété est DEVPROP_TYPE_UINT32.

Pour les propriétés de conteneur d’appareil répertoriées dans le nom de propriété, les indicateurs ne sont pas nécessaires et sont ignorés pendant l’analyse.

valeur
Valeur utilisée par l’opération d’ajout pour modifier une valeur de propriété, en fonction du type de données de propriété et de la valeur de l’entrée d’indicateurs .

Pour certaines propriétés de conteneur d’appareil répertoriées dans le nom de propriété, la valeur peut être un jeton %strkey%, ce qui permet des chaînes spécifiques aux paramètres régionaux. Le tableau suivant décrit les valeurs qui peuvent être spécifiées pour ces propriétés. Pour plus d’informations sur les chaînes spécifiques aux paramètres régionaux, consultez la section Chaînes INF.

Nom de la propriété Valeur Localisable via les sections [Strings.LanguageID] pour %strkey% jeton
ContainerModelName Chaîne ou jeton %strkey% Oui
ContainerManufacturer Chaîne ou jeton %strkey% Oui
ContainerCategories Liste de chaînes, délimitées par des virgules, de DeviceCategory Non
ContainerIcon Chaîne ou jeton %strkey% qui représente le chemin d’accès au fichier d’icône inclus dans le package de pilotes Oui

Remarques

La directive AddProperty peut être utilisée pour modifier une propriété d’appareil définie par le système ou une propriété d’appareil personnalisée. Cette directive peut être spécifiée sous l’une des sections indiquées dans l’instruction de syntaxe formelle ci-dessus.

Chaque nom de section de propriété de complément doit être unique dans un fichier INF, mais la section peut être référencée par plusieurs directives AddProperty dans le même fichier INF. Chaque nom de section doit respecter les règles générales pour définir les noms de section décrits dans Règles de syntaxe générales pour les fichiers INF.

Pour plus d’informations sur l’utilisation de la directive INF AddProperty , consultez Utilisation de la directive INF AddProperty et de la directive INF DelProperty.

Exemples

L’exemple suivant d’une section ajouter une propriété comprend deux entrées de ligne : la première entrée de ligne définit la propriété DeviceModel par nom, et l’entrée de deuxième ligne définit une propriété d’appareil personnalisée en spécifiant un GUID de clé de propriété personnalisée.

La première ligne inclut la valeur d’entrée de nom de propriété « DeviceModel » et la valeur d’entrée « Exemple de nom du modèle d’appareil ».

L’entrée de deuxième ligne définit une propriété personnalisée dans une catégorie de propriété personnalisée. La valeur d’entrée property-category-guid est « c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e » et la valeur d’entrée d’identificateur de propriété est « 2 ». La valeur d’entrée des indicateurs facultatifs n’est pas présente et la valeur d’entrée de type est « 18 » (DEVPROP_TYPE_STRING). La valeur d’entrée de valeur est « Valeur de chaîne pour la propriété 1 ».

[SampleAddPropertySection]
DeviceModel,,,,"Sample Device Model Name"
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 18,, "String value for property 1"

Voir aussi

DelProperty