Freigeben über


SetupDiSetDeviceRegistryPropertyA-Funktion (setupapi.h)

Die SetupDiSetDeviceRegistryProperty--Funktion legt eine Plug- und 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- und 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 auf 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

Anmerkung

SPDRP_HARDWAREID oder SPDRP_COMPATIBLEIDS können nur verwendet werden, wenn DeviceInfoData- ein Aufzählungsgerät darstellt. Für andere Geräte meldet der Bustreiber Hardware und kompatible IDs beim Aufzählen eines untergeordneten Geräts nach Erhalt IRP_MN_QUERY_ID.

Die folgenden Werte sind für die Verwendung durch das Betriebssystem reserviert und können nicht im Parameter Property 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- null sein.

[in] PropertyBufferSize

Die Größe PropertyBuffer-in Byte. Wenn PropertyBuffer-NULL-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 GetLastErrorabgerufen werden.

Bemerkungen

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, SetupDiSetDeviceRegistryProperty automatisch alle mit dem Gerät verbundenen Softwareschlüssel bereinigt.

Anmerkung

Der Header setupapi.h 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
mindestens unterstützte Client- Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform- Desktop
Header- setupapi.h (include Setupapi.h)
Library Setupapi.lib

Siehe auch

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty-