SetupOpenInfFileA 函式 (setupapi.h)
[此函式可用於需求一節所指出的作業系統。 後續版本可能會變更或無法使用。 安裝程式API 不應該再用於安裝應用程式。 請改用 Windows Installer 來開發應用程式安裝程式。 SetupAPI 會繼續用於安裝設備驅動器。]
SetupOpenInfFile 函式會開啟 INF 檔案,並傳回它的句柄。
語法
WINSETUPAPI HINF SetupOpenInfFileA(
[in] PCSTR FileName,
[in] PCSTR InfClass,
[in] DWORD InfStyle,
[in] PUINT ErrorLine
);
參數
[in] FileName
要開啟之 INF 檔案名稱 (和選擇性路徑) 之 Null 終止字串的指標。 如果檔名不包含路徑分隔符,則會先在 %windir%\inf 目錄中搜尋,然後在 %windir%\system32 目錄中搜尋。 如果檔名包含路徑分隔符,則會假設它是完整的路徑規格,而且不會對它執行任何進一步的處理。
[in] InfClass
包含所需 INF 檔案類別之 Null 終止字串的選擇性指標。 此字串必須符合 Version 區段的 Class 值(例如 Class=Net)。 如果 Class 值中沒有專案,但在 Version 區段中有 ClassGUID 的專案,則會擷取該 GUID 的對應類別名稱並用於比較。
[in] InfStyle
要開啟或搜尋的 INF 檔案樣式。 此參數可以是下列旗標的組合。
INF_STYLE_OLDNT
舊版 INF 檔案格式。
INF_STYLE_WIN4
Windows INF 檔案格式。
[in] ErrorLine
此函式會傳回載入 INF 檔案期間發生錯誤之變數的選擇性指標。此變數會傳回以 1 為基底的行號。 只有在 GetLastError
傳回值
如果開啟的 INF 檔案成功,函式會傳回句柄。 否則,傳回值會INVALID_HANDLE_VALUE。 呼叫 getLastError 即可擷取擴充錯誤資訊。
言論
如果載入失敗,因為 INF 檔類型與 InfClass不相符
如果指定了多個 INF 檔案樣式,可以呼叫 SetupGetInfInfInformation 函式來判斷開啟 INF 檔案的樣式。
因為可能有一個以上的類別 GUID 具有相同類別名稱,因此對特定類別的 INF 檔案感興趣的呼叫者(也就是特定類別 GUID)應該藉由呼叫 setupQueryInfVersionInformation ,從 INF 檔案擷取 ClassGUID 值。
對於舊版 INF 檔案,InfClass 字串必須符合 INF 檔案中 識別 區段的 OptionType 值中指定的類型(例如 OptionType=NetAdapter)。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupOpenInfFile 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | setupapi.h |
連結庫 | Setupapi.lib |
DLL | Setupapi.dll |
API 集 | ext-ms-win-setupapi-inf-l1-1-0 (在 Windows 8 中引進) |