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

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty