InstallHinfSectionA 函式 (setupapi.h)
[此函式可用於需求一節所指出的作業系統。 後續版本可能會變更或無法使用。 安裝程式API 不應該再用於安裝應用程式。 請改用 Windows Installer 來開發應用程式安裝程式。 SetupAPI 會繼續用於安裝設備驅動器。]
InstallHinfSection 是 Setupapi.dll 導出的進入點函式,可用來執行 .inf 檔案的區段。 InstallHinfSection 可藉由呼叫 Rundll32.exe 公用程式來叫用,如一節所述。
InstallHinfSection 函式的原型遵循與 Rundll32.exe搭配使用的所有進入點函式形式。
如果複製或修改檔案,則此函式的呼叫端必須具有寫入目標目錄的許可權。 如果已安裝任何服務,則此函式的呼叫端必須能夠存取 Service Control Manager。
語法
void InstallHinfSectionA(
[in] HWND Window,
[in] HINSTANCE ModuleHandle,
[in] PCSTR CommandLine,
[in] INT ShowCommand
);
參數
[in] Window
父視窗句柄。 通常 hwnd 為 Null。
[in] ModuleHandle
保留且應該是 Null。
[in] CommandLine
包含命令行之緩衝區的指標。 您應該使用以 Null 結尾的字串。
[in] ShowCommand
保留且應為零。
傳回值
沒有
言論
請注意,有三個匯出存在:InstallHinfSection(適用於 RunDll32)、InstallHinfSectionA和 InstallHinfSectionW。
若要執行指定之 .inf 檔案的 Install 區段,您可以使用下列語法叫用 InstallHinfSection 搭配 Rundll32.exe。
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection <區段><模式><路徑>
這會將 「<區段><模式><路徑>」 傳遞至 CmdLineBuffer。
或者,您的程式可能會直接 呼叫 installHinfSection、InstallHinfSectionA或直接 InstallHinfSectionW,將 CmdLineBuffer 參數設定為下列參數。
"<section> <mode> <path>"
其中 路徑 是 .inf 檔案的完整路徑,模式 是重新啟動模式參數,而 區段 是 .inf 檔案中任何 Install 區段。 命令行上需要SETUPAPI.DLL與 InstallHinfSection 之間的逗號分隔符。 請注意,在逗號與 SETUPAPI.DLL 或 InstallHinfSection之間,命令行上沒有任何空格符。
建議您將 .inf 檔案的完整路徑指定為 路徑。
您可以將 .inf 檔案中的任何
您應該針對 模式使用下列值的組合。 您必須包含 128,才能將安裝的預設路徑設定為 INF 的位置,否則會假設系統提供的 INF。 新增值以指定重新啟動。 請注意,建議只使用 128 或 132 的值,其他值可能會導致計算機在需要時不必要地重新啟動或未重新啟動。
價值 | 描述 |
---|---|
0 | 系統提供的 INF。 |
128 | 將安裝的預設路徑設定為 INF 的位置。 這是一般設定。 |
+0 | 永遠不要重新啟動電腦。 |
+1 | 在所有情況下重新啟動電腦。 |
+2 | 請一律詢問使用者是否要重新啟動。 |
+3 | 如有必要,請重新啟動計算機,而不要求使用者取得許可權。 |
+4 | 如果需要重新啟動計算機,請在重新啟動之前要求使用者取得許可權。 |
例如,下列命令行會執行Shell.inf檔案的DefaultInstall區段。 如果安裝程序判斷需要重新啟動,則會提示用戶出現 [重新啟動計算機]、[是/否] 對話框。
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL。INF
注意
setupapi.h 標頭會將 InstallHinfSection 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
謹慎
在 x86 或 amd64 以外的架構上使用時, 或在 S 模式的系統上使用 時,InstallHInfSection 會要求 INF 檔案具有 INF 版本區段,且具有 CatalogFile 指示詞,指向包含 INF 檔案哈希的已簽署類別目錄檔案,以及透過 INF SourceDisksFiles 區段參考之 INF 檔案參考的任何檔案。
謹慎
在原生架構不是 x86 或 amd64 的系統上使用時,應該從原生架構程式使用 InstallHInfSection。 InstallHInfSection 會在從非原生架構程式使用時封鎖許多類型的系統狀態變更作業。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | setupapi.h |
連結庫 | Setupapi.lib |
DLL | Setupapi.dll |