Verwenden der INF-AddProperty- und der INF-DelProperty-Anweisung
In Windows Vista und höheren Versionen von Windows können Sie INF-AddProperty-Direktiven und INF DelProperty-Direktiven verwenden, um Eigenschaften für Geräteinstanzen, Geräteeinrichtungsklassen, Geräteschnittstellenklassen und Geräteschnittstellen festzulegen und zu löschen. Dazu gehören systemdefinierte Geräteeigenschaften und benutzerdefinierte Geräteeigenschaften. Sie sollten jedoch die folgenden Richtlinien verwenden, wenn Sie 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 durch die AddReg-Direktive festgelegt und durch die DelReg-Direktive gelöscht werden können, sollten Sie weiterhin AddReg- und DelReg-Direktiven verwenden, um diese Geräteeigenschaften festzulegen und zu löschen. Sie sollten keine AddProperty- und DelProperty-Direktiven verwenden.
Sie können die INF-AddProperty-Direktive und die INF DelProperty-Direktive in den folgenden INF-Dateiabschnitten einschließen, um Eigenschaften für Geräteinstanzen, Geräteeinrichtungsklassen, Geräteschnittstellenklassen und Geräteschnittstellen festzulegen und zu löschen:
Ein Abschnitt "install-interface", auf den in einem ABSCHNITT "INF InterfaceInstall32" verwiesen wird
Ein Add-Interface-Abschnitt , auf den von einer INF-AddInterface-Direktive verwiesen wird
Verwenden der INF-AddProperty-Direktive
Um einen Eigenschaftswert zu ändern, schließen Sie eine INF-AddProperty-Direktive in den Abschnitt ein, in dem eine Geräteinstanz, eine Geräteeinrichtungsklasse, eine Geräteschnittstellenklasse oder eine Geräteschnittstelle installiert wird. Eine AddProperty-Direktive verweist auf einen oder mehrere Add-Property-Abschnitte , die Einträge enthalten, die die Eigenschaft angeben, wie die Eigenschaft geändert wird, und auf den Wert, der zum Ändern der Eigenschaft verwendet wird. Das Format einer AddProperty-Direktive lautet wie folgt:
AddProperty=add-property-section[,add-property-section] ...
Jede Zeile in einem Add-Property-Abschnitt gibt eine Eigenschaft an. Im Folgenden werden die beiden möglichen Zeilenformate angezeigt, die Eigenschaftsinformationen angeben. Das angezeigte Format der ersten Zeile gibt eine Eigenschaft anhand des Namens an. Dieses Format kann nur mit den DEVPKEY_DrvPkg_Xxx-Eigenschaften verwendet werden. Das format der zweiten Zeile gibt eine Eigenschaft durch die Eigenschaftskategorie und den Eigenschaftenbezeichner des entsprechenden Eigenschaftsschlü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 The entry values supply the following:
property-name
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 vom System definierte DEVPKEY_Device_FriendlyName-Eigenschaft. Der GUID-Wert kann auch eine benutzerdefinierte Gerätekategorie angeben.
property-pid
Der Eigenschaftenbezeichner, der eine Eigenschaft innerhalb einer Eigenschaftskategorie identifiziert. Der Wert des Eigenschaftsbezeichners für die eigenschaft DEVPKEY_Device_FriendlyName-Eigenschaft ist beispielsweise 14.
Flags
Ein optionales Flag, das angibt, wie der Eigenschaftswert geändert wird.
Typ
Ein Eigenschaftendatentypbezeichner , der den Datentyp angibt.
value
Der Wert, der zum Ändern des Eigenschaftswerts verwendet wird.
Das folgende Beispiel einer AddProperty-Direktive enthält zwei Zeileneinträge. Die erste Zeile enthält den Eigenschaftsnamen-Eintragswert "DeviceModel" und den Werteintragswert "Beispielgerätemodellname". Dieser Eintrag legt die DEVPKEY_DrvPkg_Model-Eigenschaft fest. Der Eintrag in der zweiten Zeile legt eine benutzerdefinierte Eigenschaft in einer benutzerdefinierten Eigenschaftskategorie fest. Der Eintragswert "property-category-guid " lautet "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e" und der Wert des Eigenschaftsbezeichnereintrags lautet "2". Der optionale Flags-Eintragswert ist nicht vorhanden, und der Typeintragswert ist "18" (DEVPROP_TYPE_STRING). Der Werteintragswert lautet "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-Richtlinie
Um eine Eigenschaft zu löschen, schließen Sie eine INF DelProperty-Direktive in den Abschnitt ein, in dem eine Geräteinstanz, eine Geräteeinrichtungsklasse, eine Geräteschnittstellenklasse oder eine Geräteschnittstelle installiert wird.
Der Hauptzweck 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 vorherigen Installation festgelegt wurde, aber von der aktualisierten Installation nicht mehr benötigt wird. Verwenden Sie die DelProperty-Direktive mit Vorsicht. DelProperty sollte nicht verwendet werden, um eine Eigenschaft zu löschen, die möglicherweise auch von einer Systemkomponente oder von einer anderen INF-Datei festgelegt wird.
Die DelProperty-Direktive weist das folgende Format auf:
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 angezeigt, die Eigenschaftsinformationen angeben. Das angezeigte Format der ersten Zeile gibt eine Eigenschaft anhand des Namens an. Dieses Format kann nur mit den DEVPKEY_DrvPkg_Xxx-Eigenschaften verwendet werden. Das format der zweiten Zeile gibt eine Eigenschaft durch die Eigenschaftskategorie und den Eigenschaftenbezeichner des entsprechenden Eigenschaftsschlüssels an. Das zweite Format kann verwendet werden, um eine systemdefinierte Eigenschaft oder eine benutzerdefinierte Geräteeigenschaft anzugeben.
[del-property-section]property-name [,, Flags [,value]] {property-category-guid}, property-pid [, Flags [,value]] Die Eintragswerte geben Folgendes an:
property-name
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 vom System definierte DEVPKEY_Device_FriendlyName-Eigenschaft. Der GUID-Wert kann auch eine benutzerdefinierte Gerätekategorie angeben.
property-pid
Der Eigenschaftenbezeichner, der eine Eigenschaft innerhalb einer Eigenschaftskategorie identifiziert. Der Wert des Eigenschaftsbezeichners für die eigenschaft DEVPKEY_Device_FriendlyName-Eigenschaft ist beispielsweise 14.
Flags
Ein optionales Kennzeichen, das nur für eine Eigenschaft gültig ist, deren Datentyp DEVPROP_TYPE_STRING_LIST ist. Wenn das Flag festgelegt ist, löscht der Löschvorgang die Zeichenfolge, die durch den Wert in der Eigenschaftszeichenfolgenliste angegeben wird.
value
Die aus einer Eigenschaftszeichenfolgenliste zu löschende Zeichenfolge.
Das folgende Beispiel für einen Del-Property-Abschnitt 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äteeigenschaftswert, dessen Datentyp DEVPROP_TYPE_STRING_LIST ist. In der zweiten Zeile lautet der Eintragswert "property-category-guid " "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e", der Eigenschaftsbezeichner-Eintragswert "2", und der Flags-Eintragswert ist "0x00000001".
[SampleDelPropertySection]
DeviceModel
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 0x00000001, "DeleteThisString"