Share via


Verwenden der INF AddProperty-Direktive und der INF DelProperty-Direktive

In Windows Vista und höheren Versionen von Windows können Sie INF AddProperty-Direktiven und INF DelProperty-Anweisungen verwenden, um Eigenschaften für Geräteinstanzen, Geräteeinrichtungsklassen, Geräteschnittstellenklassen und Geräteschnittstellenschnittstellen festzulegen und zu löschen. Dies umfasst systemdefinierte Geräteeigenschaften und benutzerdefinierte Geräteeigenschaften. Sie sollten jedoch die folgenden Richtlinien verwenden, wenn Sie die AddProperty - und DelProperty-Direktiven anstelle von INF AddReg-Direktiven und INF DelReg-Direktiven verwenden, um Geräteeigenschaften festzulegen und zu löschen:

  • Für Geräteeigenschaften, die unter Windows Vista und höheren Versionen von Windows eingeführt wurden, sollten Sie AddProperty - und DelProperty-Direktiven verwenden, um Geräteeigenschaften festzulegen und zu löschen.

  • Für Geräteeigenschaften, die unter Windows Server 2003, Windows XP oder Windows 2000 eingeführt wurden und von der AddReg-Direktive festgelegt und von der DelReg-Direktive gelöscht werden können, sollten Sie weiterhin die AddReg - und DelReg-Direktiven verwenden, um diese Geräteeigenschaften festzulegen und zu löschen. Sie sollten keine AddProperty - und DelProperty-Anweisungen verwenden.

Sie können die INF AddProperty-Direktive und die INF DelProperty-Anweisung in die folgenden INF-Dateiabschnitte einschließen, um Eigenschaften für Geräteinstanzen, Geräteeinrichtungsklassen, Geräteschnittstellenklassen und Geräteschnittstellenschnittstellen festzulegen und zu löschen:

Verwenden der INF AddProperty-Anweisung

Um einen Eigenschaftswert zu ändern, fügen Sie eine INF AddProperty-Direktive in den Abschnitt ein, der eine Geräte-instance, eine Geräteeinrichtungsklasse, eine Geräteschnittstellenklasse oder eine Geräteschnittstelle installiert. Eine AddProperty-Direktive verweist auf einen oder mehrere add-property-sections , die Einträge enthalten, die die Eigenschaft angeben, wie die Eigenschaft geändert werden soll, und den Wert, der zum Ändern der Eigenschaft verwendet wird. Das Format einer AddProperty-Anweisung lautet wie folgt:

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

Jede Zeile in einem add-property-section gibt eine Eigenschaft an. Im Folgenden werden die beiden möglichen Zeilenformate veranschaulicht, die Eigenschafteninformationen angeben. Das angezeigte Format der ersten Zeile gibt eine Eigenschaft anhand ihres Namens an. Dieses Format kann nur mit den Eigenschaften DEVPKEY_DrvPkg_Xxx verwendet werden. Das Format der zweiten Zeile gibt eine Eigenschaft durch die Eigenschaftskategorie und den Eigenschaftsbezeichner des entsprechenden Eigenschaftenschlüssels an. Dieses zweite Format kann verwendet werden, um eine systemdefinierte Eigenschaft oder eine benutzerdefinierte Geräteeigenschaft anzugeben.

[add-property-section]property-name,,,[flags],value{property-category-guid},property-pid,type,[flags],value Die Eingabewerte geben Folgendes an:

Eigenschaftsname
Der Name, der eine DEVPKEY_DrvPkg_Xxx-Eigenschaft identifiziert. Beispielsweise DeviceModel, das die DEVPKEY_DrvPkg_Model-Eigenschaft darstellt, oder DeviceVendorWebSite, die die DEVPKEY_DrvPkg_VendorWebSite-Eigenschaft darstellt.

property-category-guid
Der GUID-Wert der Eigenschaftskategorie, zu der die Eigenschaft gehört. Beispielsweise die systemdefinierte DEVPKEY_Device_FriendlyName-Eigenschaft . Der GUID-Wert kann auch eine benutzerdefinierte Gerätekategorie angeben.

property-pid
Der Eigenschaftsbezeichner, der eine Eigenschaft innerhalb einer Eigenschaftskategorie identifiziert. Der Wert des Eigenschaftsbezeichners für die DEVPKEY_Device_FriendlyName-Eigenschaft ist beispielsweise 14.

Flags
Ein optionales Flag, das angibt, wie der Eigenschaftswert geändert werden soll.

Typ
Ein Eigenschaftsdatentypbezeichner , der den Datentyp angibt.

value
Der Wert, der zum Ändern des Eigenschaftswerts verwendet wird.

Das folgende Beispiel für eine AddProperty-Anweisung enthält zwei Zeileneinträge. Die erste Zeile enthält den Eigenschaftsnamen-Eintragswert "DeviceModel" und den Werteintragswert "Beispielgerätemodellname". Mit diesem Eintrag wird die eigenschaft DEVPKEY_DrvPkg_Model festgelegt. Der zweite Zeileneintrag legt eine benutzerdefinierte Eigenschaft in einer benutzerdefinierten Eigenschaftskategorie fest. Der Eigenschaftskategorie-guid-Eintragswert ist "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" und der Eigenschaftsbezeichnereintragswert ist "2". Der optionale Flags-Eintragswert ist nicht vorhanden, und der Typeintragswert ist "18" (DEVPROP_TYPE_STRING). Der Werteintragswert ist "Zeichenfolgenwert für Eigenschaft 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"

Verwenden der INF DelProperty-Direktive

Um eine Eigenschaft zu löschen, fügen Sie eine INF DelProperty-Direktive in den Abschnitt ein, der eine Geräte-instance, eine Geräteeinrichtungsklasse, eine Geräteschnittstellenklasse oder eine Geräteschnittstelle installiert.

Der Standard Zweck der INF DelProperty-Direktive ist die Verwendung in einer INF-Datei, die eine Geräteinstallation aktualisiert. In einem solchen Fall kann die DelProperty-Direktive verwendet werden, um eine Eigenschaft zu löschen, die von einer früheren Installation festgelegt wurde, aber für die aktualisierte Installation nicht mehr erforderlich ist. Verwenden Sie die DelProperty-Anweisung mit Vorsicht. DelProperty sollte nicht verwendet werden, um eine Eigenschaft zu löschen, die möglicherweise auch von einer Systemkomponente oder einer anderen INF-Datei festgelegt wird.

Die DelProperty-Direktive hat das folgende Format:

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

Jede Zeile in einem del-property-section gibt eine Eigenschaft an. Im Folgenden werden die beiden möglichen Zeilenformate veranschaulicht, die Eigenschafteninformationen angeben. Das angezeigte Format der ersten Zeile gibt eine Eigenschaft anhand ihres Namens an. Dieses Format kann nur mit den Eigenschaften DEVPKEY_DrvPkg_Xxx verwendet werden. Das Format der zweiten Zeile gibt eine Eigenschaft durch die Eigenschaftskategorie und den Eigenschaftsbezeichner des entsprechenden Eigenschaftenschlüssels an. Das zweite Format kann verwendet werden, um eine systemdefinierte Eigenschaft oder eine benutzerdefinierte Geräteeigenschaft anzugeben.

[del-property-section]eigenschaftsname [,,Flags [,value]] {property-category-guid},property-pid [,Flags [,value]] Die Eingabewerte geben Folgendes an:

Eigenschaftsname
Der Name, der eine DEVPKEY_DrvPkg_Xxx-Eigenschaft identifiziert. Beispielsweise DeviceModel, das die DEVPKEY_DrvPkg_Model-Eigenschaft darstellt, oder DeviceVendorWebSite, die die DEVPKEY_Device_FriendlyName-Eigenschaft darstellt.

property-category-guid
Der GUID-Wert der Eigenschaftskategorie, zu der die Eigenschaft gehört. Beispielsweise die systemdefinierte DEVPKEY_Device_FriendlyName-Eigenschaft . Der GUID-Wert kann auch eine benutzerdefinierte Gerätekategorie angeben.

property-pid
Der Eigenschaftsbezeichner, der eine Eigenschaft innerhalb einer Eigenschaftskategorie identifiziert. Der Wert des Eigenschaftsbezeichners für die DEVPKEY_Device_FriendlyName-Eigenschaft ist beispielsweise 14.

Flags
Ein optionales Flag, das nur für die Verwendung mit einer Eigenschaft gültig ist, deren Datentyp DEVPROP_TYPE_STRING_LIST ist. Wenn das Flag festgelegt ist, löscht der Löschvorgang die durch den Wert angegebene Zeichenfolge aus der Liste der Eigenschaftenzeichenfolgen.

value
Die Zeichenfolge, die aus einer Eigenschaftszeichenfolgenliste gelöscht werden soll.

Das folgende Beispiel für einen del-property-section enthält zwei Zeileneinträge.

Die erste Zeile enthält den Eigenschaftsnameneintragswert "DeviceModel", der die DEVPKEY_DrvPkg_Model-Eigenschaft löscht. Der zweite Zeileneintrag löscht die Zeichenfolge "DeleteThisString" aus einem benutzerdefinierten Geräteeigenschaftenwert, dessen Datentyp DEVPROP_TYPE_STRING_LIST ist. In der zweiten Zeile lautet der Eigenschaftskategorie-guid-Eintragswert "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e", der Eigenschaftsbezeichnereintragswert ist "2", und der Flags-Eintragswert ist "0x00000001".

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