SetupDiGetDevicePropertyKeys-Funktion (setupapi.h)
Die SetupDiGetDevicePropertyKeys-Funktion ruft ein Array der Geräteeigenschaftsschlüssel ab, die die Geräteeigenschaften darstellen, die für ein Gerät instance festgelegt sind.
Syntax
WINSETUPAPI BOOL SetupDiGetDevicePropertyKeys(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Parameter
[in] DeviceInfoSet
Ein Handle für einen Geräteinformationssatz. Dieser Geräteinformationssatz enthält die Geräte instance für die diese Funktion ein Array von Geräteeigenschaftsschlüsseln abruft. Die Eigenschaftenschlüssel stellen die Geräteeigenschaften dar, die für das Gerät instance festgelegt werden.
[in] DeviceInfoData
Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur, die das Gerät instance darstellt, für das das angeforderte Array von Geräteeigenschaftsschlüsseln abgerufen werden soll.
[out, optional] PropertyKeyArray
Ein Zeiger auf einen Puffer, der ein Array von DEVPROPKEY-typisierten Werten empfängt, wobei jeder Wert ein Geräteeigenschaftsschlüssel ist, der eine Geräteeigenschaft darstellt, die für das Gerät instance festgelegt ist. Der Zeiger ist optional und kann NULL sein. Weitere Informationen finden Sie im Abschnitt Hinweise weiter unten in diesem Thema.
[in] PropertyKeyCount
Die Größe des PropertyKeyArray-Puffers in DEVPROPKEY-typisierten Werten. Wenn PropertyKeyArray auf NULL festgelegt ist, muss PropertyKeyCount auf null festgelegt werden.
[out, optional] RequiredPropertyKeyCount
Ein Zeiger auf eine DWORD-typisierte Variable, die die Anzahl der angeforderten Geräteeigenschaftsschlüssel empfängt. Der Zeiger ist optional und kann auf NULL festgelegt werden.
[in] Flags
Dieser Parameter muss auf 0 festgelegt werden.
Rückgabewert
SetupDiGetDevicePropertyKeys gibt TRUE zurück, wenn es 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 (null). |
|
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. |
|
Ein interner Datenwert ist ungültig. |
|
Ein Benutzerpuffer ist ungültig. Eine Möglichkeit besteht darin, dass PropertyKeyArrayNULL und PropertKeyCount nicht 0 ist. |
|
Das gerät instance, das von DevInfoData angegeben wird, ist nicht vorhanden. |
|
Der PropertyKeyArray-Puffer ist zu klein, um alle angeforderten Eigenschaftenschlüssel aufzunehmen. |
|
Es war nicht genügend Systemspeicher verfügbar, um den Vorgang abzuschließen. |
Hinweise
SetupDiGetDevicePropertyKeys ist Teil des einheitlichen Geräteeigenschaftenmodells.
Wenn der ProperKeyArray-Puffer nicht groß genug ist, um alle angeforderten Eigenschaftsschlüssel zu speichern, ruft SetupDiGetDevicePropertyKeys keine Eigenschaftsschlüssel ab und gibt ERROR_INSUFFICIENT_BUFFER zurück. Wenn der Aufrufer einen RequiredPropertyKeyCount-Zeiger angegeben hat, legt SetupDiGetDevicePropertyKeys den Wert von *RequiredPropertyKeyCount auf die erforderliche Größe in DEVPROPKEY-typisierten Werten des PropertyKeyArray-Puffers fest.
Um ein Gerät instance -Eigenschaft abzurufen, rufen Sie SetupDiGetDeviceProperty auf, und um ein Gerät instance -Eigenschaft festzulegen, rufen Sie SetupDiSetDeviceProperty auf.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und späteren Windows-Versionen. |
Zielplattform | DesktopFür universal rufen Sie CM_Get_DevNode_Property_Keys auf. |
Kopfzeile | setupapi.h (schließen Sie Setupapi.h ein) |
Bibliothek | Setupapi.lib |
DLL | Setupapi.dll |