Compartilhar via


Diretiva AddProperty do INF

Uma diretiva AddProperty faz referência a uma ou mais seções de arquivo INF que modificam as propriedades do dispositivo definidas para uma instância de dispositivo, uma classe de configuração de dispositivo, uma classe de interface de dispositivo ou uma interface 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 add-property-section pode ter entradas para fazer o seguinte:

  • Adicione uma propriedade de dispositivo e inicialize o valor da propriedade .

  • Modifique o valor de uma propriedade de dispositivo existente.

Uma add-property-section referenciada por uma diretiva AddProperty tem o seguinte formato:

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

Uma seção adicionar propriedade pode ter qualquer número de entradas de nome de propriedade ou entradas de guid de propriedade , cada uma em uma linha separada.

Entradas

property-name
Um dos seguintes nomes de propriedade que representam as propriedades do pacote de driver de instância do dispositivo:

  • DeviceModel

  • DeviceVendorWebsite

  • DeviceDetailedDescription

  • DeviceDocumentationLink

  • DeviceIcon

  • DeviceBrandingIcon

Para obter mais informações sobre como adicionar ícones de dispositivo personalizados, consulte Fornecendo ícones para um dispositivo.

property-category-guid
Um valor guid que identifica a categoria de propriedade. O valor guid pode ser um GUID definido pelo sistema que identifica uma das categorias de propriedade para uma instância de dispositivo, uma classe de configuração de dispositivo, uma classe de interface de dispositivo ou uma interface de dispositivo. Todas as propriedades que têm o mesmo valor guid são membros da mesma categoria. Essas categorias de propriedade são definidas em Devpkey.h.

O valor guid também pode ser um valor guid personalizado que identifica uma categoria de propriedade personalizada.

property-pid
O identificador de propriedade que indica a propriedade específica dentro da categoria de propriedade que é indicada pelo valor property-category-guid . Por motivos internos do sistema, um identificador de propriedade deve ser maior ou igual a dois.

tipo
O valor numérico, no formato decimal ou hexadecimal, do identificador property-data-type para a propriedade especificada pelo valor property-category-guid e pelo valor property-pid . Há suporte apenas para os seguintes tipos de dados base :

  • DEVPROP_TYPE_STRING

  • DEVPROP_TYPE_STRING_LIST

  • DEVPROP_TYPE_BINARY

  • DEVPROP_TYPE_BOOLEAN

  • DEVPROP_TYPE_UINT32

Por exemplo, o valor decimal do tipo de dados DEVPROP_TYPE_STRING é 18 (0x00000012) e o valor decimal do tipo de dados DEVPROP_TYPE_STRING_LIST é 8210 (0x00002012).

sinalizadores
Um valor hexadecimal opcional que é um OR bit a bit dos seguintes sinalizadores que controlam a operação de adição:

0x00000001 (FLG_ADDPROPERTY_NOCLOBBER)
Um sinalizador que impede que o valor da entrada de valor substitua o valor da propriedade existente. Se um gravador de driver quiser tornar uma propriedade capaz de ser substituída por meio de diretivas Include e Needs , o gravador deverá especificar esse sinalizador para essa propriedade. Isso ocorre porque o Windows processa as seções INF referenciadas pelas diretivas Include e Needs depois que o Windows processa todas as outras diretivas dentro da seção INF que incluíam as diretivas Include e Needs .

0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY)
Um sinalizador que define o valor da propriedade como o valor de entrada de valor somente se a propriedade especificada já existir.

0x00000004 (FLG_ADDPROPERTY_APPEND)
Um sinalizador que acrescenta o valor de entrada de valor ao de um valor de cadeia de caracteres de propriedade existente. Esse sinalizador só será válido se o tipo de dados da propriedade for DEVPROP_TYPE_STRING_LIST. A cadeia de caracteres fornecida não será acrescentada a um valor de cadeia de caracteres de propriedade existente se a cadeia de caracteres fornecida já estiver presente no valor de cadeia de caracteres existente.

0x00000008 (FLG_ADDPROPERTY_OR)
Um sinalizador que executa um OR bit a bit do valor de entrada de valor para o do valor da propriedade existente. Esse sinalizador só será válido se o tipo de dados da propriedade for DEVPROP_TYPE_UINT32.

0x00000010 (FLG_ADDPROPERTY_AND)
Um sinalizador que executa um AND bit a bit do valor de entrada de valor para o do valor da propriedade existente. Esse sinalizador só será válido se o tipo de dados da propriedade for DEVPROP_TYPE_UINT32.

value
O valor que a operação add usa para modificar um valor de propriedade, dependendo do tipo de dados da propriedade e do valor da entrada de sinalizadores .

Comentários

A diretiva AddProperty pode ser usada para modificar uma propriedade de dispositivo definida pelo sistema ou uma propriedade de dispositivo personalizada. Essa diretiva pode ser especificada em qualquer uma das seções mostradas na instrução de sintaxe formal acima.

Cada nome add-property-section deve ser exclusivo em um arquivo INF, mas a seção pode ser referenciada por mais de uma diretiva AddProperty no mesmo arquivo INF. Cada nome de seção deve seguir as regras gerais para definir nomes de seção descritos em Regras gerais de sintaxe para arquivos INF.

Para obter mais informações sobre como usar a diretiva INF AddProperty , consulte Using the INF AddProperty Directive and the INF DelProperty Directive.

Exemplos

O exemplo a seguir de uma seção adicionar propriedade inclui duas entradas de linha: a primeira entrada de linha define a propriedade DeviceModel por nome e a segunda entrada de linha define uma propriedade de dispositivo personalizada especificando um GUID de chave de propriedade personalizada.

A primeira linha inclui o valor de entrada de nome da propriedade "DeviceModel" e o valor de entrada de valor "Nome do modelo de dispositivo de exemplo".

A segunda entrada de linha define uma propriedade personalizada em uma categoria de propriedade personalizada. O valor de entrada property-category-guid é "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" e o valor de entrada do identificador de propriedade é "2".

O valor de entrada de sinalizadores opcionais não está presente e o valor da entrada de tipo é "18" (DEVPROP_TYPE_STRING). O valor de entrada do valor é "Valor da cadeia de caracteres para a propriedade 1".

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

Confira também

DelProperty