SetupDiGetActualSectionToInstallW 函式 (setupapi.h)
SetupDiGetActualSectionToInstall 函式會擷取適當的 INF DDInstall 區段,以在本機電腦上安裝裝置 INF 檔案時使用。
語法
WINSETUPAPI BOOL SetupDiGetActualSectionToInstallW(
[in] HINF InfHandle,
[in] PCWSTR InfSectionName,
[out, optional] PWSTR InfSectionWithExt,
[in] DWORD InfSectionWithExtSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PWSTR *Extension
);
參數
[in] InfHandle
INF 檔案的句柄,其中包含 DDInstall 區段。
[in] InfSectionName
DDInstall 區段名稱的指標(如 INF Models 區段所指定)。 區段名稱的最大長度,以字元為單位,為254。
[out, optional] InfSectionWithExt
要接收 DDInstall 區段名稱、其平臺延伸模組和 NULL 終止符之字元緩衝區的指標。 這是應該用於安裝的裝飾區段名稱。 如果此參數 NULL,InfSectionWithExtSize 必須為零。 如果此參數 NULL,則函式會傳回 TRUE TRUE,並將 requiredSize 設定為大小,以字元為單位傳回 DDInstall 區段名稱、其平臺延伸模組和終止 NULL 字元。
[in] InfSectionWithExtSize
InfSectionWithExt 緩衝區的大小。 如果 InfSectionWithExtNULL,此參數必須是零。
[out, optional] RequiredSize
要傳回 DDInstall 區段名稱、平臺延伸模組和終止 NULL 字元所需的大小變數指標。
[out, optional] Extension
變數的指標,會接收 '.' 字元的指標,這個字元會標記 InfSectionWithExt 緩衝區中的延伸模塊開頭。 如果未提供 InfSectionWithExt 緩衝區或太小,則不會設定此參數。 如果不需要延伸模組的指標,請將此參數設定為 NULL。
傳回值
如果函式成功,它會 TRUE傳回 。 如果函式失敗,它會 FALSE傳回 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
言論
此函式支援 DDInstall 區段名稱的延伸模組,這些區段名稱可用來指定裝置的 OS 特定和架構特定安裝行為。 如需這些延伸模組的相關信息,請參閱 建立多個平臺和作業系統的 INF 檔案。 SetupDiGetActualSectionToInstall 搜尋 DDInstall 區段名稱,其符合本機計算機的方式如下。
函式會先在指定的 INF 檔案中搜尋符合指定名稱的裝飾安裝區段名稱,並具有符合本機電腦的作業系統和處理器架構的擴展名。 例如,如果您指定 InstallSec區段名稱,則函式會根據本機計算機的處理器架構搜尋下列其中一個裝飾名稱:
- 針對以 x86 處理器架構為基礎的電腦,函式會搜尋裝飾名稱 InstallSec.ntx86。
- 針對以 x64 處理器架構為基礎的電腦,函式會搜尋裝飾名稱 InstallSec.ntamd64。
- 針對以 Itanium 處理器架構為基礎的電腦,函式會搜尋裝飾名稱 InstallSec.ntia64。
DDInstall 區段名稱會作為 Hardware 和 Services 區段名稱的基底。 例如,如果找到的 DDInstall 區段名稱 InstallSec.NTX86,Services 區段名稱必須命名 為 installSec.NTX86.Services。
驅動程式節點中指定的原始 DDInstall 區段名稱會寫入驅動程式登錄機碼的 InfSection 值專案。 找到的延伸模組會儲存在索引鍵中,做為 infSectionExt REG_SZ 值。 例如:
InfSection : REG_SZ : "InstallSec"
InfSectionExt : REG_SZ : ".NTX86"
如果未為指定的裝置資訊項目選取驅動程式,則會安裝 Null 驅動程式。 傳回時,裝置 SP_DEVINSTALL_PARAMS 結構中的旗標會指出系統應該重新啟動或重新啟動,導致裝置啟動。
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetActualSectionToInstall 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows 2000 和更新版本的 Windows 中提供。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |