SetupDiGetDriverInfoDetailA 函式 (setupapi.h)
SetupDiGetDriverInfoDetail 函式會擷取裝置資訊集或裝置資訊集中特定裝置資訊元素的驅動程式資訊詳細數據。
語法
WINSETUPAPI BOOL SetupDiGetDriverInfoDetailA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] PSP_DRVINFO_DATA_A DriverInfoData,
[in, out] PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,
[in] DWORD DriverInfoDetailDataSize,
[out, optional] PDWORD RequiredSize
);
參數
[in] DeviceInfoSet
裝置資訊集 句柄,其中包含要擷取驅動程式資訊的驅動程式信息專案。
[in, optional] DeviceInfoData
SP_DEVINFO_DATA 結構的指標,指定要擷取驅動程式資訊的裝置信息專案。 這個參數是選擇性的,而且可以 NULL。 如果指定此參數,SetupDiGetDriverInfoDetail 擷取指定裝置驅動程式清單中驅動程式的相關信息。 如果此參數 NULL,SetupDiGetDriverInfoDetail 會擷取 屬於 deviceInfoSet全域類別驅動程式列表成員之驅動程式的相關信息。
[in] DriverInfoData
SP_DRVINFO_DATA 結構的指標,指定要擷取詳細數據的驅動程式資訊元素。 如果 指定 DeviceInfoData,驅動程式必須是 DeviceInfoData所指定裝置的驅動程式列表成員。 否則,驅動程式必須是 DeviceInfoSet之全域類別驅動程式清單的成員。
[in, out] DriverInfoDetailData
SP_DRVINFO_DETAIL_DATA 結構的指標,可接收指定驅動程式的詳細資訊。 如果未指定此參數,DriverInfoDetailDataSize 必須是零。 如果指定此參數,
[in] DriverInfoDetailDataSize
DriverInfoDetailData 緩衝區的大小,以位元組為單位。
[out, optional] RequiredSize
變數的指標,可接收儲存詳細驅動程式資訊所需的位元元組數目。 這個值同時包含結構的大小,以及保留硬體標識符清單和相容標識符清單結尾之可變長度字元緩衝區所需的額外位元組。 清單的格式為REG_MULTI_SZ。 如需硬體和相容識別碼的相關信息,請參閱 裝置識別字串。
傳回值
如果函式成功,函式會傳回 TRUE。 否則,它會傳回 FALSE,而且可以藉由呼叫 getLastError 來擷取記錄的錯誤。
言論
如果指定的驅動程式資訊成員和呼叫端提供的緩衝區都有效,則保證此函式會填入SP_DRVINFO_DETAIL_DATA結構中的所有靜態字段,並在結尾的可變長度緩衝區中盡可能填入多個標識符,同時仍維持REG_MULTI_SZ格式。 在此情況下,函式會傳回 FALSE,而呼叫 getLastError 會傳回ERROR_INSUFFICIENT_BUFFER。 如果指定,RequiredSize 包含具有所有標識符之結構所需的位元組總數。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetDriverInfoDetail 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows 2000 和更新版本的 Windows 中提供。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |