SetupDiEnumDeviceInterfaces 函式 (setupapi.h)
SetupDiEnumDeviceInterfaces 函式會列舉裝置資訊集中所包含的裝置介面。
語法
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
);
參數
[in] DeviceInfoSet
裝置資訊集的指標,其中包含要傳回資訊的裝置介面。 此句柄通常是由 SetupDiGetClassDevs 傳回。
[in, optional] DeviceInfoData
指定 DeviceInfoSet 中裝置資訊元素之SP_DEVINFO_DATA結構的指標。 此參數是選擇性的,可以是 NULL。 如果指定此參數, SetupDiEnumDeviceInterfaces 會將列舉限制為指定裝置所支援的介面。 如果此參數為 NULL, 則對 SetupDiEnumDeviceInterfaces 的重複呼叫會傳回 與 DeviceInfoSet 中所有裝置資訊元素相關聯的介面相關信息。 此指標通常是由 SetupDiEnumDeviceInfo 傳回。
[in] InterfaceClassGuid
GUID 的指標,指定所要求介面的裝置介面類別。
[in] MemberIndex
裝置資訊集中介面清單中的以零起始的索引。 呼叫端應該先呼叫此函式, 並將 MemberIndex 設定為零,以取得第一個介面。 然後,重複遞增 MemberIndex 並擷取介面,直到此函式失敗且 GetLastError 傳回ERROR_NO_MORE_ITEMS。
如果 DeviceInfoData 指定特定裝置, MemberIndex 只會相對於該裝置所公開的介面。
[out] DeviceInterfaceData
呼叫端配置的緩衝區指標,其中包含成功傳回時,已完成 的SP_DEVICE_INTERFACE_DATA 結構,可識別符合搜尋參數的介面。 呼叫端必須設定 DeviceInterfaceData。呼叫此函式之前,cbSize 為 sizeof (SP_DEVICE_INTERFACE_DATA) 。
傳回值
如果函式未發生錯誤,SetupDiEnumDeviceInterfaces 會傳回 TRUE。 如果函式已完成併發生錯誤,則會傳回 FALSE ,而且呼叫 GetLastError 即可擷取失敗的錯誤碼。
備註
重複呼叫此函式會傳回不同裝置介面 的SP_DEVICE_INTERFACE_DATA 結構。 您可以重複呼叫此函式,以取得與特定裝置資訊專案相關聯的裝置資訊集中介面的相關信息,或與所有裝置資訊元素相關聯的介面。
DeviceInterfaceData 指向識別要求之裝置介面的結構。 若要取得介面的詳細資訊,請呼叫 SetupDiGetDeviceInterfaceDetail。 詳細資訊包括可傳遞至 Win32 函式的裝置介面名稱,例如 createFile (,如 Microsoft Windows SDK 檔中所述,) 取得介面的句柄。
如需詳細資訊 ,請參閱裝置介面類別概觀 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。 |
目標平台 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
程式庫 | Setupapi.lib |
Dll | Setupapi.dll |
API 集合 | ext-ms-win-setupapi-classinstallers-l1-1-2 (於 Windows 10 10.0.14393 版中引進) |