Freigeben über


SetupDiSetDevicePropertyW-Funktion (setupapi.h)

Die SetupDiSetDeviceProperty-Funktion legt ein Gerät instance-Eigenschaft fest.

Syntax

WINSETUPAPI BOOL SetupDiSetDevicePropertyW(
  [in]           HDEVINFO         DeviceInfoSet,
  [in]           PSP_DEVINFO_DATA DeviceInfoData,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           DEVPROPTYPE      PropertyType,
  [in, optional] const PBYTE      PropertyBuffer,
  [in]           DWORD            PropertyBufferSize,
  [in]           DWORD            Flags
);

Parameter

[in] DeviceInfoSet

Ein Handle für einen Geräteinformationssatz. Dieser Geräteinformationssatz enthält ein Geräteinformationselement, das das gerät instance darstellt, für das ein Gerät instance Eigenschaft festgelegt werden soll.

[in] DeviceInfoData

Ein Zeiger auf die SP_DEVINFO_DATA Struktur, die das Gerät identifiziert, instance für das ein Gerät instance Eigenschaft festgelegt werden soll.

[in] PropertyKey

Ein Zeiger auf eine DEVPROPKEY-Struktur, die den Geräteeigenschaftenschlüssel des instance festzulegenden Eigenschaft darstellt.

[in] PropertyType

Ein DEVPROPTYPE-typisierter Wert, der den Eigenschaftsdatentypbezeichner für das Gerät instance-Eigenschaft darstellt. Weitere Informationen finden Sie weiter unten in diesem Thema im Abschnitt Hinweise .

[in, optional] PropertyBuffer

Ein Zeiger auf einen Puffer, der das Gerät instance Eigenschaftswert enthält. Wenn die Eigenschaft gelöscht oder auf einen NULL-Wert festgelegt wird, muss dieser Zeiger NULL sein, und PropertyBufferSize muss auf Null festgelegt werden.

[in] PropertyBufferSize

Die Größe des PropertyBuffer-Puffers in Bytes. Wenn PropertyBuffer NULL ist, muss PropertyBufferSize auf Null festgelegt werden.

[in] Flags

Dieser Parameter muss auf 0 festgelegt werden.

Rückgabewert

Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist. Andernfalls wird FALSE zurückgegeben, und der protokollierte Fehler kann durch Aufrufen von GetLastError abgerufen werden.

Die folgende Tabelle enthält einige der häufigeren Fehlercodes, die diese Funktion möglicherweise protokolliert.

Rückgabecode Beschreibung
ERROR_INVALID_FLAGS
Der Wert von Flags ist nicht 0.
ERROR_INVALID_HANDLE
Der von DevInfoSet angegebene Geräteinformationssatz ist ungültig.
ERROR_INVALID_PARAMETER
Ein bereitgestellter Parameter ist ungültig. Eine Möglichkeit besteht darin, dass das Geräteinformationselement ungültig ist.
ERROR_INVALID_REG_PROPERTY
Der von PropertyKey bereitgestellte Eigenschaftenschlüssel ist ungültig, oder die Eigenschaft kann nicht beschreibbar sein.
ERROR_INVALID_DATA
Der von PropertyType bereitgestellte Eigenschaftsdatentypbezeichner oder der von PropertyBuffer bereitgestellte Eigenschaftswert ist ungültig.
ERROR_INVALID_USER_BUFFER
Ein Benutzerpuffer ist ungültig. Eine Möglichkeit besteht darin, dass PropertyBufferNULL und PropertyBufferSize nicht 0 ist.
ERROR_NO_SUCH_DEVINST
Das gerät instance, das von DevInfoData angegeben wird, ist nicht vorhanden.
ERROR_INSUFFICIENT_BUFFER
Ein interner Datenpuffer, der an einen Systemaufruf übergeben wurde, war zu klein.
ERROR_NOT_ENOUGH_MEMORY
Es war nicht genügend Systemspeicher verfügbar, um den Vorgang abzuschließen.
ERROR_NOT_FOUND
Ein nicht angegebenes internes Element wurde nicht gefunden. Eine Möglichkeit besteht darin, dass die zu löschende Eigenschaft nicht vorhanden ist.
ERROR_ACCESS_DENIED
Der Aufrufer verfügt nicht über Administratorrechte.

Hinweise

SetupDiSetDeviceProperty ist Teil des einheitlichen Geräteeigenschaftenmodells.

SetupAPI unterstützt nur eine Unicode-Version von SetupDiSetDeviceProperty.

Ein Aufrufer von SetupDiSetDeviceProperty muss Mitglied der Gruppe Administratoren sein, um ein Gerät instance-Eigenschaft festzulegen.

SetupDiSetDeviceProperty erzwingt Anforderungen für den Bezeichner property-data-type und den Eigenschaftswert.

Um die Geräteeigenschaftenschlüssel für die instance Geräteeigenschaften abzurufen, die für ein Gerät festgelegt sind, rufen Sie SetupDiGetDevicePropertyKeys auf.

Um ein Gerät instance-Eigenschaft abzurufen, rufen Sie SetupDiGetDeviceProperty auf.

Anforderungen

   
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und späteren Windows-Versionen.
Zielplattform DesktopFür universell rufen Sie CM_Set_DevNode_Property auf
Kopfzeile setupapi.h (einschließlich Setupapi.h)
Bibliothek Setupapi.lib

Weitere Informationen

SetupDiGetDeviceProperty

SetupDiGetDevicePropertyKeys