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。呼叫此函式之前,cbSizesizeof (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 版中引進)

另請參閱

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail