Compartilhar via


Usar as diretivas INF AddProperty e INF DelProperty

No Windows Vista e versões posteriores do Windows, você pode usar diretivas INF AddProperty e diretivas INF DelProperty para definir e excluir propriedades para instâncias de dispositivo, classes de instalação de dispositivo, classes de interface de dispositivo e interfaces de dispositivo. Isso inclui propriedades de dispositivo definidas pelo sistema e propriedades de dispositivo personalizadas. No entanto, você deve usar as seguintes diretrizes ao usar as diretivas AddProperty e DelProperty em vez das diretivas INF AddReg e INF DelReg para definir e excluir propriedades do dispositivo:

  • Para propriedades de dispositivo que foram introduzidas no Windows Vista e versões posteriores do Windows, você deve usar as diretivas AddProperty e DelProperty para definir e excluir propriedades do dispositivo.

  • Para propriedades de dispositivo que foram introduzidas no Windows Server 2003, Windows XP ou Windows 2000 e que podem ser definidas pela diretiva AddReg e excluídas pela diretiva DelReg , você deve continuar a usar as diretivas AddReg e DelReg para definir e excluir essas propriedades do dispositivo. Você não deve usar as diretivas AddProperty e DelProperty .

Você pode incluir a diretiva INF AddProperty e a diretiva INF DelProperty nas seguintes seções de arquivo INF para definir e excluir propriedades para instâncias de dispositivo, classes de configuração de dispositivo, classes de interface de dispositivo e interfaces de dispositivo:

Usando a diretiva INF AddProperty

Para modificar um valor de propriedade, inclua uma diretiva INF AddProperty na seção que instala uma instância de dispositivo, uma classe de configuração de dispositivo, uma classe de interface de dispositivo ou uma interface de dispositivo. Uma diretiva AddProperty faz referência a uma ou mais seções de propriedade add-property que incluem entradas que especificam a propriedade, como modificar a propriedade e o valor usado para modificar a propriedade. O formato de uma diretiva AddProperty é o seguinte:

AddProperty = seção de propriedade adiciona[, seção de propriedade adicionada] ...

Cada linha em uma seção de propriedade add especifica uma propriedade. A seguir, são mostrados os dois formatos de linha possíveis que especificam informações de propriedade. O formato da primeira linha mostrado especifica uma propriedade por seu nome. Esse formato pode ser usado somente com as propriedades DEVPKEY_DrvPkg_Xxx . O formato de segunda linha especifica uma propriedade pela categoria de propriedade e pelo identificador de propriedade da chave de propriedade correspondente. Esse segundo formato pode ser usado para especificar uma propriedade definida pelo sistema ou uma propriedade de dispositivo personalizada.

[add-property-section]property-name,,,[flags],value{property-category-guid},property-pid,type,[flags],value Os valores de entrada fornecem o seguinte:

nome da propriedade
O nome que identifica uma propriedade DEVPKEY_DrvPkg_Xxx . Por exemplo, DeviceModel, que representa a propriedade DEVPKEY_DrvPkg_Model, ou DeviceVendorWebSite, que representa a propriedade DEVPKEY_DrvPkg_VendorWebSite.

guid de categoria de propriedade
O valor GUID da categoria de propriedade à qual a propriedade pertence. Por exemplo, a propriedade DEVPKEY_Device_FriendlyName definida pelo sistema. O valor GUID também pode especificar uma categoria de dispositivo personalizada.

propriedade pid
O identificador de propriedade que identifica uma propriedade dentro de uma categoria de propriedade. Por exemplo, o valor do identificador de propriedade para a propriedade DEVPKEY_Device_FriendlyName é 14.

Sinalizadores
Um sinalizador opcional que indica como modificar o valor da propriedade.

Tipo
Um identificador de tipo de dados de propriedade que especifica o tipo de dados.

value
O valor usado para modificar o valor da propriedade.

O exemplo a seguir de uma diretiva AddProperty inclui duas entradas de linha. A primeira linha inclui o valor de entrada de nome de propriedade "DeviceModel" e o valor de entrada de valor "Nome do Modelo de Dispositivo de Exemplo". Essa entrada define a propriedade DEVPKEY_DrvPkg_Model. 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 property-identifier é "2". O valor de entrada opcional Flags não está presente e o valor de entrada de tipo é "18" (DEVPROP_TYPE_STRING). O valor de entrada do valor é "Valor da cadeia de caracteres para a propriedade 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"

Usando a Diretiva INF DelProperty

Para excluir uma propriedade, inclua uma diretiva INF DelProperty na seção que instala uma instância de dispositivo, uma classe de configuração de dispositivo, uma classe de interface de dispositivo ou uma interface de dispositivo.

A principal finalidade da diretiva INF DelProperty é para uso em um arquivo INF que atualiza uma instalação de dispositivo. Nesse caso, a diretiva DelProperty pode ser usada para excluir uma propriedade que foi definida por uma instalação anterior, mas não é mais exigida pela instalação atualizada. Use a diretiva DelProperty com cuidado. DelProperty não deve ser usado para excluir uma propriedade que também pode ser definida por um componente do sistema ou por outro arquivo INF.

A diretiva DelProperty tem o seguinte formato:

DelProperty=del-propriedade-seção[,del-propriedade-seção] ...

Cada linha em uma seção de propriedade del especifica uma propriedade. A seguir, são mostrados os dois formatos de linha possíveis que especificam informações de propriedade. O formato da primeira linha mostrado especifica uma propriedade por seu nome. Esse formato pode ser usado somente com as propriedades DEVPKEY_DrvPkg_Xxx . O formato de segunda linha especifica uma propriedade pela categoria de propriedade e pelo identificador de propriedade da chave de propriedade correspondente. O segundo formato pode ser usado para especificar uma propriedade definida pelo sistema ou uma propriedade de dispositivo personalizada.

[del-property-section]property-name [,, Sinalizadores [,value]] {property-category-guid}, property-pid [, Sinalizadores [,value]] Os valores de entrada fornecem o seguinte:

nome da propriedade
O nome que identifica uma propriedade DEVPKEY_DrvPkg_Xxx . Por exemplo, DeviceModel, que representa a propriedade DEVPKEY_DrvPkg_Model, ou DeviceVendorWebSite, que representa a propriedade DEVPKEY_Device_FriendlyName.

guid de categoria de propriedade
O valor GUID da categoria de propriedade à qual a propriedade pertence. Por exemplo, a propriedade DEVPKEY_Device_FriendlyName definida pelo sistema. O valor GUID também pode especificar uma categoria de dispositivo personalizada.

propriedade pid
O identificador de propriedade que identifica uma propriedade dentro de uma categoria de propriedade. Por exemplo, o valor do identificador de propriedade para a propriedade DEVPKEY_Device_FriendlyName é 14.

Sinalizadores
Um sinalizador opcional válido para uso somente com uma propriedade cujo tipo de dados é DEVPROP_TYPE_STRING_LIST. Se o sinalizador estiver definido, a operação de exclusão excluirá a cadeia de caracteres especificada por valor da lista de cadeias de caracteres de propriedade.

value
A cadeia de caracteres a ser excluída de uma lista de cadeias de caracteres de propriedade.

O exemplo a seguir de uma seção de propriedade del inclui duas entradas de linha.

A primeira linha inclui o valor de entrada de nome de propriedade "DeviceModel", que exclui a propriedade DEVPKEY_DrvPkg_Model. A segunda entrada de linha exclui a cadeia de caracteres "DeleteThisString" de um valor de propriedade de dispositivo personalizado cujo tipo de dados é DEVPROP_TYPE_STRING_LIST. Na segunda linha, o valor de entrada property-category-guid é "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e", o valor de entrada property-identifier é "2" e o valor de entrada Flags é "0x00000001".

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