SetupDiEnumDriverInfoW-Funktion (setupapi.h)
Die SetupDiEnumDriverInfo Funktion listet die Member einer Treiberliste auf.
Syntax
WINSETUPAPI BOOL SetupDiEnumDriverInfoW(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_W DriverInfoData
);
Parameter
[in] DeviceInfoSet
Ein Handle für den Geräteinformationssatz, der die zu aufzählende 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-werden. Wenn dieser Parameter angegeben ist, SetupDiEnumDriverInfo eine Treiberliste für das angegebene Gerät aufzählt. Wenn dieser Parameter NULL-ist, SetupDiEnumDriverInfo listet die globale Klassentreiberliste auf, die DeviceInfoSet- zugeordnet ist (diese Liste ist vom Typ SPDIT_CLASSDRIVER).
[in] DriverType
Der Typ der zu enumerierenden Treiberliste, die einen der folgenden Werte sein muss:
SPDIT_CLASSDRIVER
Aufzählen einer Klassentreiberliste. Dieser Treiberlistentyp muss angegeben werden, wenn DeviceInfoData- nicht angegeben ist.
SPDIT_COMPATDRIVER
Auflisten einer Liste kompatibler Treiber für das angegebene Gerät. 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 vom Aufrufer initialisierte SP_DRVINFO_DATA Struktur, die Informationen über den aufgezählten Treiber empfängt. Der Aufrufer muss DriverInfoData festlegen.cbSizesizeof(SP_DRVINFO_DATA) vor dem Aufrufen SetupDiEnumDriverInfo. Wenn das cbSize Member nicht ordnungsgemäß festgelegt ist, gibt SetupDiEnumDriverInfo-FALSE-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 GetLastErrorabgerufen werden.
Bemerkungen
Zum Aufzählen der Member des Treiberinformationssatzes 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 weiteren Werte 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 das 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 SetupDiBuildDriverInfoList diese Liste dann an SetupDiEnumDriverInfoübergeben.
Anmerkung
Der header setupapi.h definiert SetupDiEnumDriverInfo als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias 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
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows. |
Zielplattform- | Desktop |
Header- | setupapi.h (include Setupapi.h) |
Library | Setupapi.lib |