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 |
---|---|
|
Der Wert von Flags ist nicht 0. |
|
Der von DevInfoSet angegebene Geräteinformationssatz ist ungültig. |
|
Ein bereitgestellter Parameter ist ungültig. Eine Möglichkeit besteht darin, dass das Geräteinformationselement ungültig ist. |
|
Der von PropertyKey bereitgestellte Eigenschaftenschlüssel ist ungültig, oder die Eigenschaft kann nicht beschreibbar sein. |
|
Der von PropertyType bereitgestellte Eigenschaftsdatentypbezeichner oder der von PropertyBuffer bereitgestellte Eigenschaftswert ist ungültig. |
|
Ein Benutzerpuffer ist ungültig. Eine Möglichkeit besteht darin, dass PropertyBufferNULL und PropertyBufferSize nicht 0 ist. |
|
Das gerät instance, das von DevInfoData angegeben wird, ist nicht vorhanden. |
|
Ein interner Datenpuffer, der an einen Systemaufruf übergeben wurde, war zu klein. |
|
Es war nicht genügend Systemspeicher verfügbar, um den Vorgang abzuschließen. |
|
Ein nicht angegebenes internes Element wurde nicht gefunden. Eine Möglichkeit besteht darin, dass die zu löschende Eigenschaft nicht vorhanden ist. |
|
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 |