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 版中引進)

另請參閱

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail