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 必須為零。 如果指定此參數, DriverInfoDetailData。cbSize 必須先設定為 sizeof (SP_DRVINFO_DETAIL_DATA) 的值,才能呼叫 SetupDiGetDriverInfoDetail。
[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 |