SetupDiGetINFClassA 函式 (setupapi.h)
SetupDiGetINFClass 函式會傳回指定裝置 INF 檔案的類別。
語法
WINSETUPAPI BOOL SetupDiGetINFClassA(
[in] PCSTR InfName,
[out] LPGUID ClassGuid,
[out] PSTR ClassName,
[in] DWORD ClassNameSize,
[out, optional] PDWORD RequiredSize
);
參數
[in] InfName
提供裝置 INF 檔名之 NULL 終止字串的指標。 此名稱可以包含路徑。 不過,如果只指定檔名,則會在登錄 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion 子機碼下列於 DevicePath 專案中的每個目錄中搜尋檔案。 NULL 終止 INF 檔名的字元長度上限,包括 NULL 終止符為 MAX_PATH。
[out] ClassGuid
GUID 類型的變數指標,這個變數會接收指定 INF 檔案的類別 GUID。 如果 INF 檔案未指定類別名稱,函式會傳回GUID_NULL結構。 呼叫 SetupDiClassGuidsFromName,以判斷是否已安裝具有此名稱的一或多個類別。
[out] ClassName
緩衝區的指標,接收NULL終止字串,其中包含指定 INF 檔案之類別的名稱。 如果 INF 檔案未指定類別名稱,但指定 GUID,則此緩衝區會收到呼叫 setupDiClassNameFromGuid 來擷取的名稱。 不過,如果 SetupDiClassNameFromGuid 無法擷取類別名稱(例如未安裝類別),則會傳回空字串。
[in] ClassNameSize
ClassName 參數所指向之緩衝區的大小,以字元為單位。 以字元為單位,NULL 終止類別名稱的最大長度為 MAX_CLASS_NAME_LEN。
[out, optional] RequiredSize
DWORD 型別變數的指標,可接收儲存類別名稱所需的字元數,包括終止 NULL。 此指標是選擇性的,而且可以 NULL。
傳回值
如果函式成功,函式會傳回 TRUE。 否則,它會傳回 FALSE,而且可以使用呼叫 getLastError 擷取記錄的錯誤。
言論
請勿將此函式與適用於 Windows 9x 或 Millennium Edition 的 INF 檔案搭配使用。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetINFClass 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows 2000 和更新版本的 Windows 中提供。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |