SetupDiEnumDriverInfoA-Funktion (setupapi.h)
Die SetupDiEnumDriverInfo-Funktion listet die Member einer Treiberliste auf.
Syntax
WINSETUPAPI BOOL SetupDiEnumDriverInfoA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_A DriverInfoData
);
Parameter
[in] DeviceInfoSet
Ein Handle für den Geräteinformationssatz , der die zu enumerierende Treiberliste enthält.
[in, optional] DeviceInfoData
Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur , die ein Geräteinformationselement in DeviceInfoSet angibt. Dieser Parameter ist optional und kann NULL sein. Wenn dieser Parameter angegeben ist, listet SetupDiEnumDriverInfo eine Treiberliste für das angegebene Gerät auf. Wenn dieser Parameter NULL ist, listet SetupDiEnumDriverInfo die globale Klassentreiberliste auf, die DeviceInfoSet zugeordnet ist (diese Liste ist vom Typ SPDIT_CLASSDRIVER).
[in] DriverType
Der Typ der zu enumerierenden Treiberliste, die einer der folgenden Werte sein muss:
SPDIT_CLASSDRIVER
Listen Sie eine Klassentreiberliste auf. Dieser Treiberlistentyp muss angegeben werden, wenn DeviceInfoData nicht angegeben ist.
SPDIT_COMPATDRIVER
Listet eine Liste kompatibler Treiber für das angegebene Gerät auf. Dieser Treiberlistentyp kann nur angegeben werden, wenn deviceInfoData ebenfalls angegeben ist.
[in] MemberIndex
Der nullbasierte Index des abzurufenden Treiberinformationselements.
[out] DriverInfoData
Ein Zeiger auf eine aufruferinitialisierte SP_DRVINFO_DATA Struktur, die Informationen über den enumerierten Treiber empfängt. Der Aufrufer muss DriverInfoData festlegen.cbSize to sizeof(SP_DRVINFO_DATA), bevor SetupDiEnumDriverInfo aufgerufen wird. Wenn das cbSize-Element nicht ordnungsgemäß festgelegt ist, gibt SetupDiEnumDriverInfoFALSE zurück.
Rückgabewert
Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist. Andernfalls wird FALSE zurückgegeben, und der protokollierte Fehler kann mit einem Aufruf von GetLastError abgerufen werden.
Hinweise
Um Treiberinformationssatzmember aufzulisten, sollte ein Installationsprogramm zuerst SetupDiEnumDriverInfo aufrufen, wobei der MemberIndex-Parameter auf 0 festgelegt ist. Anschließend sollte memberIndex erhöht und SetupDiEnumDriverInfo aufgerufen werden, bis keine werte mehr vorhanden sind. Wenn keine weiteren Werte vorhanden sind, schlägt die Funktion fehl, und ein Aufruf von GetLastError gibt ERROR_NO_MORE_ITEMS zurück.
Wenn Sie den cbSize-Member der SP_DRVINFO_DATA Struktur, die vom Zeiger DriverInfoData bereitgestellt wird, nicht ordnungsgemäß initialisieren, schlägt die Funktion fehl und protokolliert den Fehler ERROR_INVALID_USER_BUFFER.
Um eine Liste der Treiber zu erstellen, die einem bestimmten Gerät oder der globalen Klassentreiberliste für einen Geräteinformationssatz zugeordnet sind, verwenden Sie zuerst SetupDiBuildDriverInfo, und übergeben Sie diese Liste an SetupDiEnumDriverInfo.
Hinweis
Der Setupapi.h-Header definiert SetupDiEnumDriverInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Aliases mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | setupapi.h (schließen Sie Setupapi.h ein) |
Bibliothek | Setupapi.lib |