SetupDiGetDeviceInterfaceDetailA-Funktion (setupapi.h)
Die SetupDiGetDeviceInterfaceDetail-Funktion gibt Details zu einer Geräteschnittstelle zurück.
Syntax
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceDetailA(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[out, optional] PSP_DEVICE_INTERFACE_DETAIL_DATA_A DeviceInterfaceDetailData,
[in] DWORD DeviceInterfaceDetailDataSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
Parameter
[in] DeviceInfoSet
Ein Zeiger auf den Geräteinformationssatz , der die Schnittstelle enthält, für die Details abgerufen werden sollen. Dieses Handle wird in der Regel von SetupDiGetClassDevs zurückgegeben.
[in] DeviceInterfaceData
Ein Zeiger auf eine SP_DEVICE_INTERFACE_DATA-Struktur , die die Schnittstelle in DeviceInfoSet angibt, für die Details abgerufen werden sollen. Ein Zeiger dieses Typs wird in der Regel von SetupDiEnumDeviceInterfaces zurückgegeben.
[out, optional] DeviceInterfaceDetailData
Ein Zeiger auf eine SP_DEVICE_INTERFACE_DETAIL_DATA-Struktur zum Empfangen von Informationen über die angegebene Schnittstelle. Dieser Parameter ist optional und kann NULL sein. Dieser Parameter muss NULL sein, wenn DeviceInterfaceDetailSize null ist. Wenn dieser Parameter angegeben ist, muss der Aufrufer DeviceInterfaceDetailData.cbSize auf sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA) festlegen, bevor diese Funktion aufgerufen wird. Der cbSize-Member enthält immer die Größe des festen Teils der Datenstruktur, nicht eine Größe, die die Zeichenfolge variabler Länge am Ende widerspiegelt.
[in] DeviceInterfaceDetailDataSize
Die Größe des DeviceInterfaceDetailData-Puffers . Der Puffer muss mindestens (offsetof(SP_DEVICE_INTERFACE_DETAIL_DATA, DevicePath) + sizeof(TCHAR)) Bytes sein, um den festen Teil der Struktur und einen einzelnen NULL-Wert zu enthalten, um eine leere MULTI_SZ Zeichenfolge zu beenden.
Dieser Parameter muss null sein, wenn DeviceInterfaceDetailDataNULL ist.
[out, optional] RequiredSize
Ein Zeiger auf eine Variable vom Typ DWORD, die die erforderliche Größe des DeviceInterfaceDetailData-Puffers empfängt . Diese Größe umfasst die Größe des festen Teils der Struktur sowie die Anzahl der Bytes, die für die Gerätepfadzeichenfolge mit variabler Länge erforderlich sind. Dieser Parameter ist optional und kann NULL sein.
[out, optional] DeviceInfoData
Ein Zeiger auf einen Puffer, der Informationen über das Gerät empfängt, das die angeforderte Schnittstelle unterstützt. Der Aufrufer muss DeviceInfoData.cbSize auf sizeof(SP_DEVINFO_DATA) festlegen. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
SetupDiGetDeviceInterfaceDetail 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
Die Verwendung dieser Funktion zum Abrufen von Details zu einer Schnittstelle ist in der Regel ein zweistufiger Prozess:
- Rufen Sie die erforderliche Puffergröße ab. Rufen Sie SetupDiGetDeviceInterfaceDetail mit einem NULLDeviceInterfaceDetailData-Zeiger , einem DeviceInterfaceDetailDataSize-Wert von 0 und einer gültigen RequiredSize-Variablen auf. Als Reaktion auf einen solchen Aufruf gibt diese Funktion die erforderliche Puffergröße bei RequiredSize zurück und schlägt fehl, wenn GetLastError ERROR_INSUFFICIENT_BUFFER zurückgibt.
- Weisen Sie einen Puffer mit angemessener Größe zu, und rufen Sie die Funktion erneut auf, um die Schnittstellendetails abzurufen.
SetupDiGetDeviceInterfaceDetail kann verwendet werden, um nur die DeviceInfoData abzurufen. Wenn die Schnittstelle vorhanden ist, DeviceInterfaceDetailData aber NULL ist, schlägt diese Funktion fehl, GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück, und die DeviceInfoData-Struktur ist mit Informationen über das Gerät gefüllt, das die Schnittstelle verfügbar macht.
Hinweis
Der Setupapi.h-Header definiert SetupDiGetDeviceInterfaceDetail 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 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
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 |