SetupDiSetDeviceRegistryPropertyA-Funktion (setupapi.h)
Die SetupDiSetDeviceRegistryProperty-Funktion legt eine Plug & Play Geräteeigenschaft für ein Gerät fest.
Syntax
WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyA(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Property,
[in, optional] const BYTE *PropertyBuffer,
[in] DWORD PropertyBufferSize
);
Parameter
[in] DeviceInfoSet
Ein Handle für den Geräteinformationssatz, der ein Geräteinformationselement enthält, das das Gerät darstellt, für das eine Plug & Play Geräteeigenschaft festgelegt werden soll.
[in, out] DeviceInfoData
Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur , die das Geräteinformationselement in DeviceInfoSet angibt. Wenn die ClassGuid-Eigenschaft festgelegt ist, DeviceInfoData.ClassGuid wird bei der Rückkehr zur neuen Klasse für das Gerät festgelegt.
[in] Property
Einer der folgenden Werte, der die festzulegende Eigenschaft identifiziert. Beschreibungen dieser Werte finden Sie unter SetupDiGetDeviceRegistryProperty.
- SPDRP_CONFIGFLAGS
- SPDRP_EXCLUSIVE
- SPDRP_FRIENDLYNAME
- SPDRP_LOCATION_INFORMATION
- SPDRP_LOWERFILTERS
- SPDRP_REMOVAL_POLICY_OVERRIDE
- SPDRP_SECURITY
- SPDRP_SECURITY_SDS
- SPDRP_UI_NUMBER_DESC_FORMAT
- SPDRP_UPPERFILTERS
Hinweis
SPDRP_HARDWAREID oder SPDRP_COMPATIBLEIDS können nur verwendet werden, wenn DeviceInfoData ein root-enumeriertes Gerät darstellt. Für andere Geräte meldet der Bustreiber Hardware und kompatible IDs, wenn ein untergeordnetes Gerät nach dem Empfang IRP_MN_QUERY_ID aufgezählt wird.
Die folgenden Werte sind für die Verwendung durch das Betriebssystem reserviert und können nicht im Property-Parameter verwendet werden:
- SPDRP_ADDRESS
- SPDRP_BUSNUMBER
- SPDRP_BUSTYPEGUID
- SPDRP_CHARACTERISTICS
- SPDRP_CAPABILITIES
- SPDRP_CLASS
- SPDRP_CLASSGUID
- SPDRP_DEVICE_POWER_DATA
- SPDRP_DEVICEDESC
- SPDRP_DEVTYPE
- SPDRP_DRIVER
- SPDRP_ENUMERATOR_NAME
- SPDRP_INSTALL_STATE
- SPDRP_LEGACYBUSTYPE
- SPDRP_LOCATION_PATHS
- SPDRP_MFG
- SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
- SPDRP_REMOVAL_POLICY
- SPDRP_REMOVAL_POLICY_HW_DEFAULT
- SPDRP_SERVICE
- SPDRP_UI_NUMBER
[in, optional] PropertyBuffer
Ein Zeiger auf einen Puffer, der die neuen Daten für die Eigenschaft enthält. Wenn die Eigenschaft gelöscht wird, sollte dieser Zeiger NULL sein, und PropertyBufferSize muss 0 sein.
[in] PropertyBufferSize
Die Größe von PropertyBuffer in Bytes. Wenn PropertyBufferNULL ist, muss dieses Feld 0 sein.
Rückgabewert
Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist. Andernfalls wird FALSE zurückgegeben, und der protokollierte Fehler kann mit einem Aufruf von GetLastError abgerufen werden.
Hinweise
Der Aufrufer dieser Funktion muss Mitglied der Gruppe Administratoren sein.
Die Klassenname-Eigenschaft kann nicht festgelegt werden, da sie auf der entsprechenden Klassen-GUID basiert und automatisch aktualisiert wird, wenn diese Eigenschaft geändert wird. Wenn sich die ClassGUID-Eigenschaft ändert, bereinigt SetupDiSetDeviceRegistryProperty automatisch alle dem Gerät zugeordneten Softwareschlüssel.
Hinweis
Der setupapi.h-Header definiert SetupDiSetDeviceRegistryProperty als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | setupapi.h (einschließlich Setupapi.h) |
Bibliothek | Setupapi.lib |
Weitere Informationen
SetupDiGetClassRegistryProperty