SetupDiGetClassPropertyKeys-Funktion (setupapi.h)
Die SetupDiGetClassPropertyKeys-Funktion ruft ein Array der Geräteeigenschaftenschlüssel ab, die die Geräteeigenschaften darstellen, die für eine Geräteeinrichtungsklasse oder eine Geräteschnittstellenklasse festgelegt sind.
Syntax
WINSETUPAPI BOOL SetupDiGetClassPropertyKeys(
[in] const GUID *ClassGuid,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Parameter
[in] ClassGuid
Ein Zeiger auf eine GUID, die eine Geräteeinrichtungsklasse oder eine Geräteschnittstellenklasse darstellt. SetupDiGetClassPropertyKeys ruft ein Array der Geräteeigenschaftenschlüssel ab, die Geräteeigenschaften darstellen, die für die angegebene Klasse festgelegt sind. Informationen zum Angeben des Klassentyps finden Sie im Flags-Parameter .
[out, optional] PropertyKeyArray
Ein Zeiger auf einen Puffer, der ein Array von DEVPROPKEY-typisierten Werten empfängt, wobei jeder Wert ein Geräteeigenschaftenschlüssel ist, der eine Geräteeigenschaft darstellt, die für die Geräteklasse festgelegt ist. Der Zeiger ist optional und kann NULL sein. Weitere Informationen finden Sie weiter unten in diesem Thema im Abschnitt Hinweise .
[in] PropertyKeyCount
Die Größe des PropertyKeyArray-Puffers in DEVPROPKEY-typisierten Werten. Wenn PropertyKeyArray auf NULL festgelegt ist, muss PropertyKeyCount auf 0 festgelegt werden.
[out, optional] RequiredPropertyKeyCount
Ein Zeiger auf eine DWORD-typisierte Variable, die die Anzahl der angeforderten Eigenschaftenschlüssel empfängt. Der Parameter ist optional und kann auf NULL festgelegt werden.
[in] Flags
Einer der folgenden Werte, der angibt, ob Eigenschaftenschlüssel für eine Geräteeinrichtungsklasse oder für eine Geräteschnittstellenklasse abgerufen werden sollen:
DICLASSPROP_INSTALLER
ClassGuid gibt eine Gerätesetupklasse an. Dieses Flag kann nicht mit DICLASSPROP_INTERFACE verwendet werden.
DICLASSPROP_INTERFACE
ClassGuid gibt eine Geräteschnittstellenklasse an. Dieses Flag kann nicht mit DICLASSPROP_INSTALLER verwendet werden.
Rückgabewert
SetupDiGetClassPropertyKeys 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 ungültig. |
|
Wenn das DICLASSPROP_INSTALLER-Flag angegeben ist, gibt dieser Fehlercode an, dass die von ClassGuid angegebene Geräteeinrichtungsklasse nicht vorhanden ist. |
|
Die von ClassGuild angegebene Verweiszeichenfolge für die Geräteschnittstelle ist ungültig. Dieser Fehler kann zurückgegeben werden, wenn das flag DICLASSPROP_INTERFACE angegeben ist. |
|
Ein nicht angegebener Datenwert ist ungültig. Eine Möglichkeit besteht darin, dass der ClassGuid-Wert ungültig ist. |
|
Ein nicht angegebener Parameter ist ungültig. |
|
Ein Benutzerpuffer ist ungültig. Eine Möglichkeit besteht darin, dass PropertyKeyArrayNULL und PropertKeyCount nicht 0 ist. |
|
Wenn das flag DICLASSPROP_INTERFACE angegeben ist, gibt dieser Fehlercode an, dass die geräteschnittstellenklasse, die von ClassGuid angegeben wird, nicht vorhanden ist. |
|
Der PropertyKeyArray-Puffer ist nicht groß genug, um alle Eigenschaftenschlüssel aufzunehmen, oder 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. |
|
Der Aufrufer verfügt nicht über Administratorrechte. |
Hinweise
SetupDiGetClassPropertyKeys ist Teil des einheitlichen Geräteeigenschaftenmodells.
Ein Aufrufer von SetupDiGetClassPropertyKeys muss Mitglied der Gruppe Administratoren sein, um Geräteeigenschaftenschlüssel für eine Geräteklasse abzurufen.
Wenn der PropertyKeyArray-Puffer nicht groß genug ist, um alle angeforderten Eigenschaftenschlüssel aufzunehmen, ruft SetupDiGetClassPropertyKeys keine Eigenschaftenschlüssel ab und gibt ERROR_INSUFFICIENT_BUFFER zurück. Wenn der Aufrufer einen RequiredPropertyKeyCount-Zeiger angegeben hat, legt SetupDiGetClassPropertyKeys den Wert von *RequiredPropertyKeyCount auf die erforderliche Größe in DEVPROPKEY-typisierten Werten des PropertyKeyArray-Puffers fest.
Um eine Geräteklasseneigenschaft auf einem lokalen Computer abzurufen, rufen Sie SetupDiGetClassProperty auf. Um eine Geräteklasseneigenschaft auf einem lokalen Computer festzulegen, rufen Sie SetupDiSetClassProperty auf.
Um die Eigenschaftenschlüssel für eine Geräteeinrichtungsklasse oder Geräteschnittstellenklasse auf einem Remotecomputer abzurufen, rufen Sie SetupDiGetClassPropertyKeysEx auf.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und späteren Windows-Versionen. |
Zielplattform | DesktopFür universal rufen Sie CM_Get_Class_Property_Keys auf |
Kopfzeile | setupapi.h (einschließlich Setupapi.h) |
Bibliothek | Setupapi.lib |
DLL | Setupapi.dll |