Compartir vía


Uso de la directiva AddProperty INF y la directiva DelProperty INF

En Windows Vista y versiones posteriores de Windows, puede 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 del dispositivo definidas por el sistema y las propiedades de dispositivo personalizadas. Sin embargo, debe usar las siguientes instrucciones al usar directivas AddProperty y DelProperty en lugar de directivas ADDReg inf y directivas INF DelReg para establecer y eliminar propiedades del dispositivo:

  • En el caso de las propiedades de dispositivo que se introdujeron en Windows Vista y versiones posteriores de Windows, debe usar directivas AddProperty y DelProperty para establecer y eliminar 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 eliminadas 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 del archivo 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 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 formato de primera 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 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 de la propiedad DEVPKEY_Device_FriendlyName es 14.

Flags
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 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 "Nombre del modelo de dispositivo de ejemplo". 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 debe usarse para eliminar una propiedad que también pueda establecer un componente del sistema o otro archivo INF.

La directiva DelProperty tiene el siguiente formato:

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 formato de primera 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 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 de la propiedad DEVPKEY_Device_FriendlyName es 14.

Flags
Marca opcional que es válida solo para su uso 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"