Partager via


Utilisation de la directive INF AddProperty et de la directive INF DelProperty

Dans Windows Vista et les versions ultérieures de Windows, vous pouvez utiliser les directives INF AddProperty et les directives INF DelProperty pour définir et supprimer des propriétés pour les instances d’appareil, les classes d’installation d’appareil, les classes d’interface d’appareil et les interfaces d’appareil. Cela inclut les propriétés d’appareil définies par le système et les propriétés d’appareil personnalisées. Toutefois, vous devez utiliser les instructions suivantes lorsque vous utilisez des directives AddProperty et DelProperty au lieu des directives AddReg INF et INF DelReg pour définir et supprimer des propriétés d’appareil :

  • Pour les propriétés d’appareil introduites sur Windows Vista et les versions ultérieures de Windows, vous devez utiliser les directives AddProperty et DelProperty pour définir et supprimer les propriétés de l’appareil.

  • Pour les propriétés d’appareil introduites sur Windows Server 2003, Windows XP ou Windows 2000 et qui peuvent être définies par la directive AddReg et supprimées par la directive DelReg, vous devez continuer à utiliser les directives AddReg et DelReg pour définir et supprimer ces propriétés d’appareil. Vous ne devez pas utiliser les directives AddProperty et DelProperty .

Vous pouvez inclure la directive INF AddProperty et la directive INF DelProperty dans les sections de fichier INF suivantes pour définir et supprimer des propriétés pour les instances d’appareil, les classes d’installation d’appareil, les classes d’interface d’appareil et les interfaces d’appareil :

Utilisation de la directive AddProperty INF

Pour modifier une valeur de propriété, incluez une directive INF AddProperty dans la section qui installe une instance d’appareil, une classe de configuration d’appareil, une classe d’interface d’appareil ou une interface d’appareil. Une directive AddProperty référence une ou plusieurs sections add-property qui incluent des entrées qui spécifient la propriété, comment modifier la propriété et la valeur utilisée pour modifier la propriété. Le format d’une directive AddProperty est le suivant :

AddProperty=add-property-section[,add-property-section] ...

Chaque ligne d’une section de propriété de complément spécifie une propriété. L’exemple suivant montre les deux formats de ligne possibles qui spécifient les informations de propriété. Le premier format de ligne indiqué spécifie une propriété par son nom. Ce format ne peut être utilisé qu’avec les propriétés DEVPKEY_DrvPkg_Xxx . Le deuxième format de ligne spécifie une propriété par la catégorie de propriété et l’identificateur de propriété de la clé de propriété correspondante. Ce deuxième format peut être utilisé pour spécifier une propriété définie par le système ou une propriété d’appareil personnalisée.

[add-property-section]property-name,,,[flags],value{property-category-guid},property-pid,type,[flags],value Les valeurs d’entrée fournissent les éléments suivants :

property-name
Nom qui identifie une propriété DEVPKEY_DrvPkg_Xxx . Par exemple, DeviceModel, qui représente la propriété DEVPKEY_DrvPkg_Model ou DeviceVendorWebSite, qui représente la propriété DEVPKEY_DrvPkg_VendorWebSite.

property-category-guid
Valeur GUID de la catégorie de propriété à laquelle appartient la propriété. Par exemple, la propriété DEVPKEY_Device_FriendlyName définie par le système. La valeur GUID peut également spécifier une catégorie d’appareil personnalisée.

property-pid
Identificateur de propriété qui identifie une propriété dans une catégorie de propriété. Par exemple, la valeur de l’identificateur de propriété pour la propriété DEVPKEY_Device_FriendlyName est 14.

Indicateurs
Indicateur facultatif qui indique comment modifier la valeur de propriété.

Type
Identificateur de type de données de propriété qui spécifie le type de données.

value
Valeur utilisée pour modifier la valeur de propriété.

L’exemple suivant d’une directive AddProperty inclut deux entrées de ligne. 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 ». Cette entrée définit la propriété DEVPKEY_DrvPkg_Model. 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 de l’identificateur de propriété est « 2 ». La valeur d’entrée indicateur facultative 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 ».

[Root_Install.NT]
AddProperty=Root_AddProperty

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

Utilisation de la directive INF DelProperty

Pour supprimer une propriété, incluez une directive DelProperty INF dans la section qui installe une instance d’appareil, une classe de configuration d’appareil, une classe d’interface d’appareil ou une interface d’appareil.

L’objectif principal de la directive INF DelProperty est d’être utilisé dans un fichier INF qui met à jour une installation d’appareil. Dans ce cas, la directive DelProperty peut être utilisée pour supprimer une propriété définie par une installation précédente, mais n’est plus requise par l’installation mise à jour. Utilisez la directive DelProperty avec précaution. DelProperty ne doit pas être utilisé pour supprimer une propriété qui peut également être définie par un composant système ou par un autre fichier INF.

La directive DelProperty a le format suivant :

DelProperty=del-property-section[,del-property-section] ...

Chaque ligne d’une section del-property spécifie une propriété. L’exemple suivant montre les deux formats de ligne possibles qui spécifient les informations de propriété. Le premier format de ligne indiqué spécifie une propriété par son nom. Ce format ne peut être utilisé qu’avec les propriétés DEVPKEY_DrvPkg_Xxx . Le deuxième format de ligne spécifie une propriété par la catégorie de propriété et l’identificateur de propriété de la clé de propriété correspondante. Le deuxième format peut être utilisé pour spécifier une propriété définie par le système ou une propriété d’appareil personnalisée.

[del-property-section]property-name [,, Flags [,value]] {property-category-guid}, property-pid [, Flags [,value]] Les valeurs d’entrée fournissent les éléments suivants :

property-name
Nom qui identifie une propriété DEVPKEY_DrvPkg_Xxx . Par exemple, DeviceModel, qui représente la propriété DEVPKEY_DrvPkg_Model ou DeviceVendorWebSite, qui représente la propriété DEVPKEY_Device_FriendlyName.

property-category-guid
Valeur GUID de la catégorie de propriété à laquelle appartient la propriété. Par exemple, la propriété DEVPKEY_Device_FriendlyName définie par le système. La valeur GUID peut également spécifier une catégorie d’appareil personnalisée.

property-pid
Identificateur de propriété qui identifie une propriété dans une catégorie de propriété. Par exemple, la valeur de l’identificateur de propriété pour la propriété DEVPKEY_Device_FriendlyName est 14.

Indicateurs
Indicateur facultatif valide pour une utilisation uniquement avec une propriété dont le type de données est DEVPROP_TYPE_STRING_LIST. Si l’indicateur est défini, l’opération de suppression supprime la chaîne spécifiée par la valeur de la liste de chaînes de propriété.

value
Chaîne à supprimer d’une liste de chaînes de propriétés.

L’exemple suivant d’une section del-property-inclut deux entrées de ligne.

La première ligne inclut la valeur d’entrée de nom de propriété « DeviceModel », qui supprime la propriété DEVPKEY_DrvPkg_Model. La deuxième entrée de ligne supprime la chaîne « DeleteThisString » d’une valeur de propriété d’appareil personnalisée dont le type de données est DEVPROP_TYPE_STRING_LIST. Dans la deuxième ligne, la valeur d’entrée property-category-guid est « c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e », la valeur d’entrée de l’identificateur de propriété est « 2 » et la valeur d’entrée Flags est « 0x00000001 ».

[SampleDelPropertySection]
DeviceModel
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 0x00000001, "DeleteThisString"