Usar la directiva AddProperty inf y la directiva INF DelProperty

En Windows Vista y versiones posteriores de Windows, puedes usar directivas AddProperty inf y directivas INF DelProperty para establecer y eliminar propiedades para instancias de dispositivo, clases de configuración de dispositivos, clases de interfaz de dispositivo e interfaces de dispositivo. Esto incluye las propiedades de dispositivo definidas por el sistema y las propiedades de dispositivo personalizadas. Sin embargo, debe usar las siguientes directrices al usar las directivas AddProperty y DelProperty en lugar de las directivas AddReg inf y INF DelReg para establecer y eliminar las propiedades del dispositivo:

  • Para las propiedades de dispositivo que se introdujeron en Windows Vista y versiones posteriores de Windows, debe usar las directivas AddProperty y DelProperty para establecer y eliminar las propiedades del dispositivo.

  • Para las propiedades de dispositivo que se introdujeron en Windows Server 2003, Windows XP o Windows 2000, y que se pueden establecer mediante la directiva AddReg y eliminar por la directiva DelReg , debe seguir usando directivas AddReg y DelReg para establecer y eliminar estas propiedades de dispositivo. No debe usar directivas AddProperty y DelProperty .

Puede incluir la directiva INF AddProperty y la directiva INF DelProperty en las siguientes secciones de archivos INF para establecer y eliminar propiedades para instancias de dispositivo, clases de configuración de dispositivos, clases de interfaz de dispositivo e interfaces de dispositivo:

Uso de la directiva AddProperty inf

Para modificar un valor de propiedad, incluya una directiva AddProperty INF en la sección que instala una instancia de dispositivo, una clase de configuración de dispositivo, una clase de interfaz de dispositivo o una interfaz de dispositivo. Una directiva AddProperty hace referencia a una o varias secciones add-property-sections que incluyen entradas que especifican la propiedad, cómo modificar la propiedad y el valor que se usa para modificar la propiedad. El formato de una directiva AddProperty es el siguiente:

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

Cada línea de una sección add-property-section especifica una propiedad. A continuación se muestran los dos formatos de línea posibles que especifican información de propiedad. El primer formato de línea que se muestra especifica una propiedad por su nombre. Este formato solo se puede usar con las propiedades DEVPKEY_DrvPkg_Xxx . El segundo formato de línea especifica una propiedad por la categoría de propiedad y el identificador de propiedad de la clave de propiedad correspondiente. Este segundo formato se puede usar para especificar una propiedad definida por el sistema o una propiedad de dispositivo personalizada.

[add-property-section]property-name,,,[flags],value{property-category-guid},property-pid,type,[flags],value Los valores de entrada proporcionan lo siguiente:

property-name
Nombre que identifica una propiedad DEVPKEY_DrvPkg_Xxx . Por ejemplo, DeviceModel, que representa la propiedad DEVPKEY_DrvPkg_Model o DeviceVendorWebSite, que representa la propiedad DEVPKEY_DrvPkg_VendorWebSite .

property-category-guid
Valor GUID de la categoría de propiedad a la que pertenece la propiedad. Por ejemplo, la propiedad de DEVPKEY_Device_FriendlyName definida por el sistema. El valor guid también puede especificar una categoría de dispositivo personalizada.

property-pid
Identificador de propiedad que identifica una propiedad dentro de una categoría de propiedad. Por ejemplo, el valor del identificador de propiedad para la propiedad DEVPKEY_Device_FriendlyName es 14.

Banderas
Marca opcional que indica cómo modificar el valor de la propiedad.

Tipo
Identificador de tipo de datos de propiedad que especifica el tipo de datos.

value
Valor que se usa para modificar el valor de la propiedad.

En el ejemplo siguiente de una directiva AddProperty se incluyen dos entradas de línea. La primera línea incluye el valor de entrada de nombre de propiedad "DeviceModel" y el valor de entrada de valor "Sample Device Model Name". Esta entrada establece la propiedad DEVPKEY_DrvPkg_Model. La segunda entrada de línea establece una propiedad personalizada en una categoría de propiedad personalizada. El valor de entrada property-category-guid es "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" y el valor de entrada del identificador de propiedad es "2". El valor de entrada Flags opcional no está presente y el valor de entrada de tipo es "18" (DEVPROP_TYPE_STRING). El valor de entrada de valor es "Valor de cadena para la propiedad 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"

Uso de la directiva INF DelProperty

Para eliminar una propiedad, incluya una directiva INF DelProperty en la sección que instala una instancia de dispositivo, una clase de configuración de dispositivo, una clase de interfaz de dispositivo o una interfaz de dispositivo.

El propósito principal de la directiva INF DelProperty es su uso en un archivo INF que actualiza una instalación de dispositivo. En tal caso, la directiva DelProperty se puede usar para eliminar una propiedad establecida por una instalación anterior, pero ya no es necesaria para la instalación actualizada. Use la directiva DelProperty con precaución. DelProperty no se debe usar para eliminar una propiedad que también puede establecer un componente del sistema o otro archivo INF.

La directiva DelProperty tiene el formato siguiente:

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

Cada línea de una sección del-property-especifica una propiedad. A continuación se muestran los dos formatos de línea posibles que especifican información de propiedad. El primer formato de línea que se muestra especifica una propiedad por su nombre. Este formato solo se puede usar con las propiedades DEVPKEY_DrvPkg_Xxx . El segundo formato de línea especifica una propiedad por la categoría de propiedad y el identificador de propiedad de la clave de propiedad correspondiente. El segundo formato se puede usar para especificar una propiedad definida por el sistema o una propiedad de dispositivo personalizada.

[del-property-section]property-name [,,Flags [,value]] {property-category-guid},property-pid [,Flags [,value]] Los valores de entrada proporcionan lo siguiente:

property-name
Nombre que identifica una propiedad DEVPKEY_DrvPkg_Xxx . Por ejemplo, DeviceModel, que representa la propiedad DEVPKEY_DrvPkg_Model o DeviceVendorWebSite, que representa la propiedad DEVPKEY_Device_FriendlyName .

property-category-guid
Valor GUID de la categoría de propiedad a la que pertenece la propiedad. Por ejemplo, la propiedad de DEVPKEY_Device_FriendlyName definida por el sistema. El valor guid también puede especificar una categoría de dispositivo personalizada.

property-pid
Identificador de propiedad que identifica una propiedad dentro de una categoría de propiedad. Por ejemplo, el valor del identificador de propiedad para la propiedad DEVPKEY_Device_FriendlyName es 14.

Banderas
Marca opcional que es válida para su uso solo con una propiedad cuyo tipo de datos es DEVPROP_TYPE_STRING_LIST. Si se establece la marca, la operación de eliminación elimina la cadena especificada por valor de la lista de cadenas de propiedades.

value
Cadena que se va a eliminar de una lista de cadenas de propiedades.

En el ejemplo siguiente de una sección del-property se incluyen dos entradas de línea.

La primera línea incluye el valor de entrada de nombre de propiedad "DeviceModel", que elimina la propiedad DEVPKEY_DrvPkg_Model. La segunda entrada de línea elimina la cadena "DeleteThisString" de un valor de propiedad de dispositivo personalizado cuyo tipo de datos es DEVPROP_TYPE_STRING_LIST. En la segunda línea, el valor de entrada property-category-guid es "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e", el valor de entrada del identificador de propiedad es "2" y el valor de entrada Flags es "0x00000001".

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