共用方式為


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 未傳回ERROR_NOT_ENOUGH_MEMORY時,這個值通常才可靠。 如果發生記憶體不足狀況,ErrorLine 可能是 0。

傳回值

如果開啟的 INF 檔案成功,函式會傳回句柄。 否則,傳回值會INVALID_HANDLE_VALUE。 呼叫 getLastError 即可擷取擴充錯誤資訊。

言論

如果載入失敗,因為 INF 檔類型與 InfClass不相符 ,則函式會傳回 INVALID_HANDLE_VALUE,而呼叫 getLastError 會傳回ERROR_CLASS_MISMATCH。

如果指定了多個 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 中引進)

另請參閱

函式

概觀

SetupCloseInfFile

SetupGetInfInformation

SetupOpenAppendInfFile