SetupDiGetActualSectionToInstallExW 函式 (setupapi.h)
SetupDiGetActualSectionToInstallEx 函式會擷取為指定操作系統和處理器架構安裝裝置的 INF DDInstall 區段名稱。
語法
WINSETUPAPI BOOL SetupDiGetActualSectionToInstallExW(
[in] HINF InfHandle,
[in] PCWSTR InfSectionName,
[in, optional] PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
[out, optional] PWSTR InfSectionWithExt,
[in] DWORD InfSectionWithExtSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PWSTR *Extension,
PVOID Reserved
);
參數
[in] InfHandle
INF 檔案的句柄,其中包含 DDInstall 區段。
[in] InfSectionName
DDInstall 區段名稱的指標(如 INF Models 區段所指定)。 區段名稱的最大長度,以字元為單位,為254。
[in, optional] AlternatePlatformInfo
如果非NULL的指標,則為 SP_ALTPLATFORM_INFO 結構。 此結構可用來指定與本機計算機上不同的操作系統和處理器架構。 若要傳回本機電腦的 DDInstall 區段名稱,請將此參數設定為 NULL。 否則,請提供SP_ALTPLATFORM結構,並設定其成員,如下所示:
cbSize
設定為 SP_ALTPLATFORM_INFO 結構的大小,以位元組為單位。
平臺
設定為 windows XP 和更新版本的 Windows VER_PLATFORM_WIN32_NT。
MajorVersion
未使用。
MinorVersion
未使用。
ProcessorArchitecture
設定下列其中一個處理器架構常數。
處理器架構常數 | 意義 |
---|---|
PROCESSOR_ARCHITECTURE_INTEL | 替代平臺是以 x86 為基礎的處理器架構。 |
PROCESSOR_ARCHITECTURE_IA64 | 替代平臺是以Itanium 為基礎的處理器架構。 |
PROCESSOR_ARCHITECTURE_AMD64 | 替代平臺是以 x64 為基礎的處理器架構。 |
保留
設定為零。
[out, optional] InfSectionWithExt
要接收 DDInstall 區段名稱、其平臺延伸模組和 NULL 終止符之字元緩衝區的指標。 這是應該用於安裝的裝飾區段名稱。 如果此參數 NULL,則函式會傳回 TRUE TRUE,並將 requiredSize 設定為大小,以字元為單位傳回 DDInstall 區段名稱、其平臺延伸模組和終止 NULL 字元。
[in] InfSectionWithExtSize
InfSectionWithExt 參數所指向之緩衝區的大小,以字元為單位。 以字元為單位的 NULL 終止 INF 區段名稱長度上限為 MAX_INF_SECTION_NAME_LENGTH。
[out, optional] RequiredSize
要傳回 DDInstall 區段名稱、平臺延伸模組和終止 NULL 字元所需的大小變數指標。
[out, optional] Extension
變數的指標,會接收 '.' 字元的指標,這個字元會標記 InfSectionWithExt 緩衝區中的延伸模塊開頭。 如果未提供 InfSectionWithExt 緩衝區或太小,則不會設定此參數。 如果不需要延伸模組的指標,請將此參數設定為 NULL。
Reserved
保留供內部使用。 必須設定為 NULL。
傳回值
如果函式成功,它會 TRUE傳回 。 否則,它會 FALSE傳回 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
言論
SetupDiGetActualSectionToInstallEx 是 setupDiGetActualSectionToInstall 的擴充形式。 這些函式支持擴充功能,以 DDInstall 區段名稱,用來指定裝置的 OS 特定和架構特定安裝動作。 如需這些延伸模組的相關信息,請參閱 建立多個平臺和作業系統的 INF 檔案。
如果您未透過呼叫 SetupDiGetActualSectionToInstallEx提供替代平台資訊,則函式會執行與 SetupDiGetActualSectionToInstall相同的作業。 後者的函式會使用本機計算機的平臺資訊來搜尋指定的安裝區段名稱。
如果您使用呼叫 SetupDiGetActualSectionToInstallEx提供替代平台資訊,則函式會執行下列動作:
-
如果您指定VER_PLATFORM_WIN32_NT平臺,函式會先在指定的 INF 檔案中搜尋符合您所指定名稱、操作系統和處理器架構的裝飾安裝區段名稱。 例如,如果您指定 installSec 的 install 區段名稱,則函式會根據指定的處理器架構搜尋下列其中一個裝飾名稱:
- 如果您指定 x86 型處理器架構,函式會在 InstallSec.ntx86搜尋裝飾名稱
。 - 如果您指定 x64 型處理器架構,函式會搜尋 installSec.ntamd64裝飾
名稱。 - 如果您指定 Itanium 型處理器架構,函式會在 InstallSec.ntia64搜尋裝飾名稱
。
如果函式找到名稱、操作系統和處理器架構的相符專案,則會終止搜尋並傳回對應的裝飾名稱。 如果函式找不到這類相符專案,函式會搜尋名稱 為 installSec.nt的區段。 如果函式找到 InstallSec.nt相符專案,則會終止搜尋並傳回此名稱。 如果函式找不到上述任一搜尋的相符專案,則會傳回 InstallSec,但不會確認 INF 檔案包含名稱為 installSec 的安裝區段。
- 如果您指定 x86 型處理器架構,函式會在 InstallSec.ntx86搜尋裝飾名稱
注意
setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetActualSectionToInstallEx 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows XP 和更新版本的 Windows。 |
目標平臺 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
連結庫 | Setupapi.lib |