SetupDiSetDeviceRegistryPropertyW-Funktion (setupapi.h)

Die SetupDiSetDeviceRegistryProperty-Funktion legt eine Plug & Play-Geräteeigenschaft für ein Gerät fest.

Syntax

WINSETUPAPI BOOL SetupDiSetDeviceRegistryPropertyW(
  [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. Bei anderen Geräten meldet der Bustreiber Hardware und kompatible IDs, wenn er ein untergeordnetes Gerät aufzählt, nachdem er IRP_MN_QUERY_ID empfangen hat.

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 null sein.

[in] PropertyBufferSize

Die Größe von PropertyBuffer in Bytes. Wenn PropertyBufferNULL ist, muss dieses Feld null 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 Klassennameneigenschaft 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 die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, 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 (schließen Sie Setupapi.h ein)
Bibliothek Setupapi.lib

Weitere Informationen

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty