Directiva AddProperty inf
Una directiva AddProperty hace referencia a una o varias secciones de archivos INF que modifican las propiedades de dispositivo establecidas para una instancia de dispositivo, una clase de configuración de dispositivo, una clase de interfaz de dispositivo o una interfaz de dispositivo.
[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)
...
Cada sección add-property-section puede tener entradas para hacer lo siguiente:
Agregue una propiedad de dispositivo e inicialice el valor de la propiedad .
Modifique el valor de una propiedad de dispositivo existente.
Una sección add-property-a a la que hace referencia una directiva AddProperty tiene el siguiente formato:
[add-property-section]
(property-name, , , [flags], value]) |
({property-category-guid}, property-pid, type, [flags], value)
...
Una sección add property puede tener cualquier número de entradas de nombre de propiedad o entradas de guid de propiedad , cada una en una línea independiente.
Entradas
property-name
Uno de los siguientes nombres de propiedad que representan las propiedades del paquete del controlador de instancia de dispositivo:
DeviceModel
DeviceVendorWebsite
DeviceDetailedDescription
DeviceDocumentationLink
DeviceIcon
DeviceBrandingIcon
Para obtener más información sobre cómo agregar iconos de dispositivo personalizados, consulta Proporcionar iconos para un dispositivo.
property-category-guid
Valor GUID que identifica la categoría de propiedad. El valor guid puede ser un GUID definido por el sistema que identifica una de las categorías de propiedad de una instancia de dispositivo, una clase de configuración de dispositivo, una clase de interfaz de dispositivo o una interfaz de dispositivo. Todas las propiedades que tienen el mismo valor GUID son miembros de la misma categoría. Estas categorías de propiedades se definen en Devpkey.h.
El valor guid también puede ser un valor GUID personalizado que identifica una categoría de propiedad personalizada.
property-pid
Identificador de propiedad que indica la propiedad específica dentro de la categoría de propiedad indicada por el valor property-category-guid . Por motivos internos del sistema, un identificador de propiedad debe ser mayor o igual que dos.
type
Valor numérico, en formato decimal o hexadecimal, del identificador property-data-type de la propiedad especificada por el valor property-category-guid y el valor property-pid . Solo se admiten los siguientes tipos de datos base :
DEVPROP_TYPE_STRING
DEVPROP_TYPE_STRING_LIST
DEVPROP_TYPE_BINARY
DEVPROP_TYPE_BOOLEAN
DEVPROP_TYPE_UINT32
Por ejemplo, el valor decimal del tipo de datos DEVPROP_TYPE_STRING es 18 (0x00000012) y el valor decimal del tipo de datos DEVPROP_TYPE_STRING_LIST es 8210 (0x00002012).
flags
Valor hexadecimal opcional que es un OR bit a bit de las marcas siguientes que controlan la operación de adición:
0x00000001 (FLG_ADDPROPERTY_NOCLOBBER)
Marca que impide que el valor de entrada de valor reemplace el valor de propiedad existente. Si un escritor de controladores desea invalidar una propiedad mediante directivas Include y Needs , el escritor debe especificar esta marca para esa propiedad. Esto se debe a que Windows procesa las secciones INF a las que hacen referencia las directivas Include y Needs después de que Windows procese todas las demás directivas dentro de la sección INF que incluyeron las directivas Include y Needs .
0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY)
Marca que establece el valor de propiedad en el valor de entrada de valor solo si la propiedad especificada ya existe.
0x00000004 (FLG_ADDPROPERTY_APPEND)
Marca que anexa el valor de entrada de valor al de un valor de cadena de propiedad existente. Esta marca solo es válida si el tipo de datos de propiedad es DEVPROP_TYPE_STRING_LIST. La cadena proporcionada no se anexa a un valor de cadena de propiedad existente si la cadena proporcionada ya está presente en el valor de cadena existente.
0x00000008 (FLG_ADDPROPERTY_OR)
Marca que realiza un OR bit a bit del valor de entrada de valor al del valor de la propiedad existente. Esta marca solo es válida si el tipo de datos de propiedad es DEVPROP_TYPE_UINT32.
0x00000010 (FLG_ADDPROPERTY_AND)
Marca que realiza un and bit a bit del valor de entrada de valor al del valor de propiedad existente. Esta marca solo es válida si el tipo de datos de propiedad es DEVPROP_TYPE_UINT32.
value
Valor que usa la operación de adición para modificar un valor de propiedad, según el tipo de datos de propiedad y el valor de la entrada de marcas .
Comentarios
La directiva AddProperty se puede usar para modificar una propiedad de dispositivo definida por el sistema o una propiedad de dispositivo personalizada. Esta directiva se puede especificar en cualquiera de las secciones que se muestran en la instrucción de sintaxis formal anterior.
Cada nombre de add-property-section debe ser único dentro de un archivo INF, pero se puede hacer referencia a la sección mediante más de una directiva AddProperty en el mismo archivo INF. Cada nombre de sección debe seguir las reglas generales para definir los nombres de sección que se describen en Reglas de sintaxis general para archivos INF.
Para obtener más información sobre cómo usar la directiva AddProperty inf, vea Using the INF AddProperty Directive and the INF DelProperty Directive.
Ejemplos
En el ejemplo siguiente de una sección add property se incluyen dos entradas de línea: la primera entrada de línea establece la propiedad DeviceModel por nombre y la segunda entrada de línea establece una propiedad de dispositivo personalizada especificando un GUID de clave de propiedad personalizada.
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".
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 de marcas opcionales 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".
[SampleAddPropertySection]
DeviceModel,,,,"Sample Device Model Name"
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 18,, "String value for property 1"