Freigeben über


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
ERROR_INVALID_FLAGS
Der Wert von Flags ist nicht 0 (null).
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_DATA
Ein interner Datenwert ist ungültig.
ERROR_INVALID_USER_BUFFER
Ein Benutzerpuffer ist ungültig. Eine Möglichkeit besteht darin, dass PropertyKeyArrayNULL und PropertKeyCount nicht 0 ist.
ERROR_NO_SUCH_DEVINST
Das gerät instance, das von DevInfoData angegeben wird, ist nicht vorhanden.
ERROR_INSUFFICIENT_BUFFER
Der PropertyKeyArray-Puffer ist zu klein, um alle angeforderten Eigenschaftenschlüssel aufzunehmen.
ERROR_NOT_ENOUGH_MEMORY
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

Weitere Informationen

SetupDiGetDeviceProperty

SetupDiSetDeviceProperty