Condividi tramite


Utilizzo della direttiva INF AddProperty e della direttiva INF DelProperty

In Windows Vista e versioni successive di Windows è possibile usare le direttive INF AddProperty e le direttive INF DelProperty per impostare ed eliminare le proprietà per le istanze del dispositivo, le classi di installazione dei dispositivi, le classi di interfaccia del dispositivo e le interfacce del dispositivo. Sono incluse le proprietà del dispositivo definite dal sistema e le proprietà personalizzate del dispositivo. Tuttavia, è consigliabile usare le linee guida seguenti quando si usano le direttive AddProperty e DelProperty anziché le direttive INF AddReg e INF DelReg per impostare ed eliminare le proprietà del dispositivo:

  • Per le proprietà del dispositivo introdotte in Windows Vista e versioni successive di Windows, è consigliabile usare le direttive AddProperty e DelProperty per impostare ed eliminare le proprietà del dispositivo.

  • Per le proprietà del dispositivo introdotte in Windows Server 2003, Windows XP o Windows 2000 e che possono essere impostate dalla direttiva AddReg ed eliminate dalla direttiva DelReg , è consigliabile continuare a usare le direttive AddReg e DelReg per impostare ed eliminare queste proprietà del dispositivo. Non utilizzare le direttive AddProperty e DelProperty .

È possibile includere la direttiva INF AddProperty e la direttiva INF DelProperty nelle sezioni seguenti del file INF per impostare ed eliminare proprietà per le istanze del dispositivo, le classi di installazione dei dispositivi, le classi di interfaccia del dispositivo e le interfacce del dispositivo:

Utilizzo della direttiva INF AddProperty

Per modificare un valore di proprietà, includere una direttiva INF AddProperty nella sezione che installa un'istanza del dispositivo, una classe di installazione del dispositivo, una classe di interfaccia del dispositivo o un'interfaccia del dispositivo. Una direttiva AddProperty fa riferimento a una o più sezioni add-property-sections che includono voci che specificano la proprietà, come modificare la proprietà e il valore utilizzato per modificare la proprietà. Il formato di una direttiva AddProperty è il seguente:

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

Ogni riga di una sezione add-property-section specifica una proprietà. Di seguito sono illustrati i due formati di riga possibili che specificano le informazioni sulle proprietà. Il primo formato di riga visualizzato specifica una proprietà in base al nome. Questo formato può essere utilizzato solo con le proprietà DEVPKEY_DrvPkg_Xxx . Il secondo formato di riga specifica una proprietà in base alla categoria di proprietà e all'identificatore di proprietà della chiave di proprietà corrispondente. Questo secondo formato può essere usato per specificare una proprietà definita dal sistema o una proprietà personalizzata del dispositivo.

[add-property-section]property-name,,,[flags],value{property-category-guid},property-pid,type,[flags],value I valori di voce forniscono quanto segue:

property-name
Nome che identifica una proprietà DEVPKEY_DrvPkg_Xxx . Ad esempio, DeviceModel, che rappresenta la proprietà DEVPKEY_DrvPkg_Model o DeviceVendorWebSite, che rappresenta la proprietà DEVPKEY_DrvPkg_VendorWebSite.

property-category-guid
Valore GUID della categoria di proprietà a cui appartiene la proprietà. Ad esempio, la proprietà DEVPKEY_Device_FriendlyName definita dal sistema. Il valore GUID può anche specificare una categoria di dispositivi personalizzata.

property-pid
Identificatore di proprietà che identifica una proprietà all'interno di una categoria di proprietà. Ad esempio, il valore dell'identificatore di proprietà per la proprietà DEVPKEY_Device_FriendlyName è 14.

Flag
Flag facoltativo che indica come modificare il valore della proprietà.

Type
Identificatore property-data-type che specifica il tipo di dati.

value
Valore utilizzato per modificare il valore della proprietà.

L'esempio seguente di una direttiva AddProperty include due voci di riga. La prima riga include il valore della voce nome proprietà "DeviceModel" e il valore della voce del valore "Sample Device Model Name". Questa voce imposta la proprietà DEVPKEY_DrvPkg_Model. La seconda voce di riga imposta una proprietà personalizzata in una categoria di proprietà personalizzata. Il valore della voce property-category-guid è "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" e il valore della voce dell'identificatore di proprietà è "2". Il valore della voce Flags facoltativo non è presente e il valore della voce di tipo è "18" (DEVPROP_TYPE_STRING). Il valore della voce del valore è "Valore stringa per la proprietà 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"

Utilizzo della direttiva INF DelProperty

Per eliminare una proprietà, includere una direttiva INF DelProperty nella sezione che installa un'istanza del dispositivo, una classe di installazione del dispositivo, una classe di interfaccia del dispositivo o un'interfaccia del dispositivo.

Lo scopo principale della direttiva INF DelProperty è l'uso in un file INF che aggiorna un'installazione del dispositivo. In questo caso, la direttiva DelProperty può essere usata per eliminare una proprietà impostata da un'installazione precedente, ma non è più richiesta dall'installazione aggiornata. Usare la direttiva DelProperty con cautela. DelProperty non deve essere utilizzato per eliminare una proprietà che potrebbe essere impostata anche da un componente di sistema o da un altro file INF.

La direttiva DelProperty ha il formato seguente:

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

Ogni riga in una sezione del-property-section specifica una proprietà. Di seguito sono illustrati i due formati di riga possibili che specificano le informazioni sulle proprietà. Il primo formato di riga visualizzato specifica una proprietà in base al nome. Questo formato può essere utilizzato solo con le proprietà DEVPKEY_DrvPkg_Xxx . Il secondo formato di riga specifica una proprietà in base alla categoria di proprietà e all'identificatore di proprietà della chiave di proprietà corrispondente. Il secondo formato può essere usato per specificare una proprietà definita dal sistema o una proprietà del dispositivo personalizzata.

[del-property-section]property-name [,, Flags [,value]] {property-category-guid}, property-pid [, Flags [,value]] I valori di voce forniscono quanto segue:

property-name
Nome che identifica una proprietà DEVPKEY_DrvPkg_Xxx . Ad esempio, DeviceModel, che rappresenta la proprietà DEVPKEY_DrvPkg_Model o DeviceVendorWebSite, che rappresenta la proprietà DEVPKEY_Device_FriendlyName.

property-category-guid
Valore GUID della categoria di proprietà a cui appartiene la proprietà. Ad esempio, la proprietà DEVPKEY_Device_FriendlyName definita dal sistema. Il valore GUID può anche specificare una categoria di dispositivi personalizzata.

property-pid
Identificatore di proprietà che identifica una proprietà all'interno di una categoria di proprietà. Ad esempio, il valore dell'identificatore di proprietà per la proprietà DEVPKEY_Device_FriendlyName è 14.

Flag
Flag facoltativo valido per l'utilizzo solo con una proprietà il cui tipo di dati è DEVPROP_TYPE_STRING_LIST. Se il flag è impostato, l'operazione di eliminazione elimina la stringa specificata dal valore dall'elenco di stringhe delle proprietà.

value
Stringa da eliminare da un elenco di stringhe di proprietà.

L'esempio seguente di una sezione del-property include due voci di riga.

La prima riga include il valore della voce nome proprietà "DeviceModel", che elimina la proprietà DEVPKEY_DrvPkg_Model. La seconda voce di riga elimina la stringa "DeleteThisString" da un valore della proprietà del dispositivo personalizzato il cui tipo di dati è DEVPROP_TYPE_STRING_LIST. Nella seconda riga il valore della voce property-category-guid è "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e", il valore di voce dell'identificatore di proprietà è "2" e il valore della voce Flags è "0x00000001".

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