Direttiva INF AddProperty
Una direttiva AddProperty fa riferimento a una o più sezioni file INF che modificano le proprietà del dispositivo impostate per un'istanza del dispositivo, una classe di installazione del dispositivo, una classe di interfaccia del dispositivo o un'interfaccia del 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)
...
Ogni sezione add-property-section può avere voci per eseguire le operazioni seguenti:
Aggiungere una proprietà del dispositivo e inizializzare il valore della proprietà.
Modificare il valore di una proprietà del dispositivo esistente.
Una sezione add-property-section a cui fa riferimento una direttiva AddProperty ha il formato seguente:
[add-property-section]
(property-name, , , [flags], value]) |
({property-category-guid}, property-pid, type, [flags], value)
...
Una sezione add property può avere un numero qualsiasi di voci nome proprietà o voci con guid di proprietà, ognuna in una riga separata.
Voci
nome della proprietà
Uno dei nomi di proprietà seguenti che rappresentano le proprietà del pacchetto del driver dell'istanza del dispositivo:
DeviceModel
DeviceVendorWebsite
DeviceDetailedDescription
DeviceDocumentationLink
DeviceIcon
DeviceBrandingIcon
Per altre informazioni sull'aggiunta di icone di dispositivo personalizzate, vedere Fornire icone per un dispositivo.
property-category-guid
Valore GUID che identifica la categoria di proprietà. Il valore GUID può essere un GUID definito dal sistema che identifica una delle categorie di proprietà per un'istanza del dispositivo, una classe di installazione del dispositivo, una classe di interfaccia dispositivo o un'interfaccia del dispositivo. Tutte le proprietà con lo stesso valore GUID sono membri della stessa categoria. Queste categorie di proprietà sono definite in Devpkey.h.
Il valore GUID può anche essere un valore GUID personalizzato che identifica una categoria di proprietà personalizzata.
property-pid
Identificatore della proprietà che indica la proprietà specifica all'interno della categoria di proprietà indicata dal valore property-category-guid . Per motivi di sistema interni, un identificatore di proprietà deve essere maggiore o uguale a due.
type
Valore numerico, in formato decimale o esadecimale, dell'identificatore property-data-type per la proprietà specificata dal valore property-category-guid e dal valore property-pid . Sono supportati solo i tipi di dati di base seguenti:
DEVPROP_TYPE_STRING
DEVPROP_TYPE_STRING_LIST
DEVPROP_TYPE_BINARY
DEVPROP_TYPE_BOOLEAN
DEVPROP_TYPE_UINT32
Ad esempio, il valore decimale del tipo di dati DEVPROP_TYPE_STRING è 18 (0x00000012) e il valore decimale del tipo di dati DEVPROP_TYPE_STRING_LIST è 8210 (0x00002012).
flags
Valore esadecimale facoltativo che rappresenta un OR bit per bit dei flag seguenti che controllano l'operazione di aggiunta:
0x00000001 (FLG_ADDPROPERTY_NOCLOBBER )
Flag che impedisce al valore di voce valore di sostituire il valore della proprietà esistente. Se un writer di driver vuole rendere una proprietà in grado di eseguire l'override tramite direttive Include e Needs , il writer deve specificare questo flag per tale proprietà. Questo avviene perché Windows elabora le sezioni INF a cui fanno riferimento le direttive Include e Needs dopo che Windows elabora tutte le altre direttive all'interno della sezione INF che includevano le direttiveInclude e Needs.
0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY )
Flag che imposta il valore della proprietà sul valore di voce del valore solo se la proprietà specificata esiste già.
0x00000004 (FLG_ADDPROPERTY_APPEND )
Flag che aggiunge il valore di voce valore a quello di una stringa di proprietà esistente. Questo flag è valido solo se il tipo di dati della proprietà è DEVPROP_TYPE_STRING_LIST. La stringa fornita non viene aggiunta a un valore di stringa di proprietà esistente se la stringa specificata è già presente nel valore stringa esistente.
0x00000008 (FLG_ADDPROPERTY_OR )
Flag che esegue un or bit per bit del valore di voce del valore a quello del valore della proprietà esistente. Questo flag è valido solo se il tipo di dati della proprietà è DEVPROP_TYPE_UINT32.
0x00000010 (FLG_ADDPROPERTY_AND )
Flag che esegue un valore AND bit per bit del valore di voce valore a quello del valore della proprietà esistente. Questo flag è valido solo se il tipo di dati della proprietà è DEVPROP_TYPE_UINT32.
value
Valore usato dall'operazione di aggiunta per modificare un valore della proprietà, a seconda del tipo di dati della proprietà e del valore della voce flag .
Commenti
La direttiva AddProperty può essere usata per modificare una proprietà del dispositivo definita dal sistema o una proprietà del dispositivo personalizzata. Questa direttiva può essere specificata in una delle sezioni visualizzate nell'istruzione di sintassi formale precedente.
Ogni nome della sezione add-property deve essere univoco all'interno di un file INF, ma la sezione può essere fatto riferimento a più di una direttiva AddProperty nello stesso file INF. Ogni nome di sezione deve seguire le regole generali per definire i nomi di sezione descritti in Regole di sintassi generali per i file INF.
Per altre informazioni sull'uso della direttiva INF AddProperty , vedere Uso della direttiva INF AddProperty e della direttiva INF DelProperty.
Esempio
L'esempio seguente di una sezione add property include due voci di riga: la prima voce di riga imposta la proprietà DeviceModel in base al nome e la seconda riga imposta una proprietà del dispositivo personalizzata specificando un GUID della chiave di proprietà personalizzata.
La prima riga include il valore della voce nome proprietà "DeviceModel" e il valore di voce valore "Nome modello dispositivo di esempio".
La seconda voce di riga imposta una proprietà personalizzata in una categoria di proprietà personalizzata. Il valore di voce property-category-guid è "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" e il valore di voce dell'identificatore di proprietà è "2".
Il valore di voce dei flag facoltativi non è presente e il valore di voce del tipo è "18" (DEVPROP_TYPE_STRING). Il valore della voce valore è "Valore stringa per la proprietà 1".
[SampleAddPropertySection]
DeviceModel,,,,"Sample Device Model Name"
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 18,, "String value for property 1"