Sdílet prostřednictvím


INF AddProperty – direktiva

Direktiva AddProperty odkazuje na jednu nebo více částí souboru INF, které upravují vlastnosti zařízení nastavené pro instanci zařízení, kontejner zařízení, třídu nastavení zařízení, třídu rozhraní zařízení nebo rozhraní zařízení.

[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)
...

Každý oddíl add-property-section může obsahovat položky k provedení následujících kroků:

  • Přidejte vlastnost zařízení a inicializujete hodnotu vlastnosti.

  • Upravte hodnotu existující vlastnosti zařízení.

Add-property-section, na který odkazuje direktiva AddProperty, má následující formát:

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

Oddíl přidat vlastnost může mít libovolný počet položek názvu vlastnosti nebo položek guid vlastností , z nichž každý je na samostatném řádku.

Položky

název vlastnosti
Jeden z následujících názvů vlastností, které představují vlastnosti balíčku ovladače instance zařízení:

  • Model zařízení

  • Web DeviceVendorWebsite

  • Popis ZařízeníDetailedDescription

  • DeviceDocumentationLink

  • DeviceIcon

  • DeviceBrandingIcon

Další informace o přidávání vlastních ikon zařízení najdete v tématu Poskytování ikon pro zařízení.

Jeden z následujících názvů vlastností, které představují vlastnosti balíčku ovladačů kontejneru zařízení.

  • ContainerModelName

  • ContainerManufacturer

  • ContainerCategories

  • ContainerIcon

Další informace o určení informací popisující fyzické zařízení naleznete v tématu Metadata kontejneru balíčků ovladačů.

property-category-guid
Hodnota GUID, která identifikuje kategorii vlastnosti. Hodnota GUID může být identifikátor GUID definovaný systémem, který identifikuje jednu z kategorií vlastností pro instanci zařízení, třídu nastavení zařízení, třídu rozhraní zařízení nebo rozhraní zařízení. Všechny vlastnosti, které mají stejnou hodnotu GUID, jsou členy stejné kategorie. Tyto kategorie vlastností jsou definovány v Devpkey.h.

Hodnota GUID může být také vlastní hodnota GUID, která identifikuje kategorii vlastní vlastnosti.

property-pid
Identifikátor vlastnosti, který označuje konkrétní vlastnost v kategorii vlastnosti, která je označena hodnotou property-category-guid . Z interních systémových důvodů musí být identifikátor vlastnosti větší nebo roven dvěma.

typ
Číselná hodnota v desítkovém nebo šestnáctkovém formátu identifikátoru vlastnosti-datový typ vlastnosti, která je určena hodnotou guid kategorie vlastnosti a hodnotou property-pid . Podporují se pouze následující základní datové typy :

  • DEVPROP_TYPE_STRING

  • DEVPROP_TYPE_STRING_LIST

  • DEVPROP_TYPE_BINARY

  • DEVPROP_TYPE_BOOLEAN

  • DEVPROP_TYPE_UINT32

Například desetinná hodnota datového typu DEVPROP_TYPE_STRING je 18 (0x00000012) a desetinná hodnota datového typu DEVPROP_TYPE_STRING_LIST je 8210 (0x00002012).

příznaky
Volitelná šestnáctková hodnota, která je bitové OR následujících příznaků, které řídí operaci přidání:

0x00000001 (FLG_ADDPROPERTY_NOCLOBBER)
Příznak, který brání hodnotě položky hodnoty nahradit existující hodnotu vlastnosti. Pokud autor ovladače chce, aby vlastnost mohla být přepsána pomocí direktiv Include a Needs , zapisovač musí zadat tento příznak pro tuto vlastnost. Je to proto, že Systém Windows zpracovává oddíly INF, na které odkazuje direktiva Include a Needs , po zpracování všech ostatních direktiv v oddílu INF, které obsahovaly direktivy Include a Needs .

0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY)
Příznak, který nastaví hodnotu vlastnosti na hodnotu položky hodnoty pouze v případě, že zadaná vlastnost již existuje.

0x00000004 (FLG_ADDPROPERTY_APPEND)
Příznak, který připojí hodnotu položky hodnoty k hodnotě existující řetězcové hodnoty vlastnosti. Tento příznak je platný pouze v případě, že je datový typ vlastnosti DEVPROP_TYPE_STRING_LIST. Zadaný řetězec není připojen k existující řetězcové hodnotě vlastnosti, pokud zadaný řetězec již existuje v existující řetězcové hodnotě.

0x00000008 (FLG_ADDPROPERTY_OR)
Příznak, který provádí bitové OR hodnoty položky hodnoty na hodnotu existující vlastnosti. Tento příznak je platný pouze v případě, že je datový typ vlastnosti DEVPROP_TYPE_UINT32.

0x00000010 (FLG_ADDPROPERTY_AND)
Příznak, který provádí bitovou hodnotu A hodnoty položky hodnoty na hodnotu existující vlastnosti. Tento příznak je platný pouze v případě, že je datový typ vlastnosti DEVPROP_TYPE_UINT32.

U vlastností kontejneru zařízení uvedených v názvu vlastnosti nejsou potřeba příznaky a při analýze se budou ignorovat.

hodnota
Hodnota, kterou operace přidání používá k úpravě hodnoty vlastnosti v závislosti na datovém typu vlastnosti a hodnotě položky příznaků .

U některých vlastností kontejneru zařízení uvedených v názvu vlastnosti může být hodnota tokenem %strkey%, což umožňuje řetězce specifické pro národní prostředí. Následující tabulka popisuje, jaké hodnoty lze pro tyto vlastnosti zadat. Další informace o řetězcích specifických pro národní prostředí najdete v části Řetězce INF.

Název vlastnosti Hodnota Lokalizovatelné prostřednictvím oddílů [Strings.LanguageID] pro token %strkey%
ContainerModelName Řetězec nebo token %strkey% Ano
ContainerManufacturer Řetězec nebo token %strkey% Ano
ContainerCategories Seznam řetězců oddělených čárkami z kategorie DeviceCategory Ne
ContainerIcon Řetězec nebo token %strkey%, který představuje cestu k souboru ikony, který je součástí balíčku ovladače Ano

Poznámky

AddProperty direktivu lze použít k úpravě vlastnosti zařízení definované systémem nebo vlastní vlastnosti zařízení. Tuto direktivu je možné zadat v libovolné části uvedené ve výše uvedeném formálním příkazu syntaxe.

Každý název oddílu add-property-section musí být jedinečný v souboru INF, ale na oddíl lze odkazovat více než jednou direktivou AddProperty ve stejném souboru INF. Každý název oddílu musí dodržovat obecná pravidla pro definování názvů oddílů popsaných v obecných syntaktických pravidlech pro soubory INF.

Další informace o použití INF AddProperty direktivy , viz Použití INF AddProperty direktivy a INF DelProperty direktivy.

Příklady

Následující příklad oddílu přidat vlastnost obsahuje dvě řádkové položky: první řádek položka nastaví DeviceModel vlastnost podle názvu a druhá položka řádku nastaví vlastní vlastnost zařízení zadáním identifikátoru GUID vlastního klíče vlastnosti.

První řádek obsahuje hodnotu pro zadání názvu vlastnosti "DeviceModel" a hodnotu položky hodnoty "Ukázkový název modelu zařízení".

Druhá položka řádku nastaví vlastní vlastnost v kategorii vlastní vlastnosti. Hodnota položky property-category-guid je c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e a hodnota položky identifikátoru vlastnosti je 2. Nepovinná hodnota položky příznaků není k dispozici a hodnota položky typu je 18 (DEVPROP_TYPE_STRING). Hodnota položky hodnoty je Řetězcová hodnota pro vlastnost 1.

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

Viz také

DelProperty