SetupDiEnumDriverInfoA 函式 (setupapi.h)
SetupDiEnumDriverInfo 函式會列舉驅動程式清單的成員。
語法
WINSETUPAPI BOOL SetupDiEnumDriverInfoA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_A DriverInfoData
);
參數
[in] DeviceInfoSet
裝置資訊集 句柄,其中包含要列舉的驅動程序清單。
[in, optional] DeviceInfoData
[in] DriverType
要列舉的驅動程式清單類型,必須是下列其中一個值:
SPDIT_CLASSDRIVER
列舉類別驅動程式清單。 如果未指定 deviceInfoData,則必須指定此驅動程式清單類型
SPDIT_COMPATDRIVER
列舉指定裝置的相容驅動程序清單。 只有在同時指定 deviceInfoData
[in] MemberIndex
要擷取之驅動程式信息成員之以零起始的索引。
[out] DriverInfoData
呼叫端初始化 SP_DRVINFO_DATA 結構的指標,可接收列舉驅動程序的相關信息。 呼叫端必須設定 driverInfoData 。在 呼叫 setupDiEnumDriverInfo之前,先cbSizesizeof(SP_DRVINFO_DATA)。 如果未正確設定
傳回值
如果函式成功,函式會傳回 TRUE。 否則,它會傳回 FALSE,而且可以使用呼叫 getLastError 擷取記錄的錯誤。
言論
若要列舉驅動程式資訊集成員,安裝程式應該先呼叫 setupDiEnumDriverInfo ,並將 MemberIndex 參數設定為 0。 然後,它應該遞增 MemberIndex,並呼叫 SetupDiEnumDriverInfo,直到沒有其他值為止。 當沒有其他值時,函式會失敗,而且對 getLastError 的呼叫會傳回ERROR_NO_MORE_ITEMS。
如果您未正確初始化 cbSize 由 driverInfoData 指標所提供的SP_DRVINFO_DATA結構成員,函式將會失敗並記錄錯誤ERROR_INVALID_USER_BUFFER。
若要建置與特定裝置相關聯的驅動程式清單,或與裝置資訊集的全域類別驅動程式清單,請先使用 SetupDiBuildDriverInfoList 然後將該列表傳遞至 SetupDiEnumDriverInfo。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiEnumDriverInfo 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows 2000 和更新版本的 Windows 中提供。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |