Freigeben über


SetupDiEnumDeviceInterfaces-Funktion (setupapi.h)

Die SetupDiEnumDeviceInterfaces-Funktion listet die Geräteschnittstellen auf, die in einem Geräteinformationssatz enthalten sind.

Syntax

WINSETUPAPI BOOL SetupDiEnumDeviceInterfaces(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in, optional] PSP_DEVINFO_DATA          DeviceInfoData,
  [in]           const GUID                *InterfaceClassGuid,
  [in]           DWORD                     MemberIndex,
  [out]          PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

Parameter

[in] DeviceInfoSet

Ein Zeiger auf einen Geräteinformationssatz , der die Geräteschnittstellen enthält, für die Informationen zurückgegeben werden sollen. Dieses Handle wird in der Regel von SetupDiGetClassDevs zurückgegeben.

[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, beschränkt SetupDiEnumDeviceInterfaces die Enumeration auf die Schnittstellen, die vom angegebenen Gerät unterstützt werden. Wenn dieser Parameter NULL ist, geben wiederholte Aufrufe von SetupDiEnumDeviceInterfaces Informationen zu den Schnittstellen zurück, die allen Geräteinformationselementen in DeviceInfoSet zugeordnet sind. Dieser Zeiger wird in der Regel von SetupDiEnumDeviceInfo zurückgegeben.

[in] InterfaceClassGuid

Ein Zeiger auf eine GUID, die die Geräteschnittstellenklasse für die angeforderte Schnittstelle angibt.

[in] MemberIndex

Ein nullbasierter Index in der Liste der Schnittstellen im Geräteinformationssatz. Der Aufrufer sollte diese Funktion zuerst aufrufen, wobei MemberIndex auf 0 festgelegt ist, um die erste Schnittstelle zu erhalten. Erhöhen Sie dann wiederholt MemberIndex , und rufen Sie eine Schnittstelle ab, bis diese Funktion fehlschlägt und GetLastError ERROR_NO_MORE_ITEMS zurückgibt.

Wenn DeviceInfoData ein bestimmtes Gerät angibt, ist der MemberIndex nur relativ zu den Schnittstellen, die von diesem Gerät verfügbar gemacht werden.

[out] DeviceInterfaceData

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der bei erfolgreicher Rückgabe eine abgeschlossene SP_DEVICE_INTERFACE_DATA-Struktur enthält, die eine Schnittstelle identifiziert, die die Suchparameter erfüllt. Der Aufrufer muss DeviceInterfaceData festlegen. cbSize to sizeof(SP_DEVICE_INTERFACE_DATA), bevor Sie diese Funktion aufrufen.

Rückgabewert

SetupDiEnumDeviceInterfaces gibt TRUE zurück, wenn die Funktion ohne Fehler abgeschlossen wurde. Wenn die Funktion mit einem Fehler abgeschlossen wurde, wird FALSE zurückgegeben, und der Fehlercode für den Fehler kann durch Aufrufen von GetLastError abgerufen werden.

Hinweise

Wiederholte Aufrufe dieser Funktion geben eine SP_DEVICE_INTERFACE_DATA-Struktur für eine andere Geräteschnittstelle zurück. Diese Funktion kann wiederholt aufgerufen werden, um Informationen zu Schnittstellen in einem Geräteinformationssatz abzurufen, die einem bestimmten Geräteinformationselement zugeordnet sind oder allen Geräteinformationselementen zugeordnet sind.

DeviceInterfaceData verweist auf eine Struktur, die eine angeforderte Geräteschnittstelle identifiziert. Um ausführliche Informationen zu einer Schnittstelle zu erhalten, rufen Sie SetupDiGetDeviceInterfaceDetail auf. Die detaillierten Informationen enthalten den Namen der Geräteschnittstelle, die an eine Win32-Funktion wie CreateFile übergeben werden kann (siehe Microsoft Windows SDK Dokumentation), um ein Handle für die Schnittstelle abzurufen.

Weitere Informationen finden Sie unter Übersicht über Geräteschnittstellenklassen .

Anforderungen

Anforderung Wert
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
DLL Setupapi.dll
APIs ext-ms-win-setupapi-classinstallers-l1-1-2 (eingeführt in Windows 10, Version 10.0.14393)

Weitere Informationen

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail