共用方式為


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 終止符之字元緩衝區的指標。 這是應該用於安裝的裝飾區段名稱。 如果此參數 NULLInfSectionWithExtSize 必須為零。 如果此參數 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
如果函式找到名稱、操作系統和處理器架構的相符專案,則會終止搜尋並傳回對應的裝飾名稱。 如果函式找不到這類相符專案,函式會搜尋名稱為 installSec.NT 的區段。 如果函式找到 InstallSec.NT相符專案,則會終止搜尋並傳回此名稱。 如果函式找不到上述任一搜尋的相符專案,則會傳回 InstallSec,但不會確認 INF 檔案包含名稱為 installSec 的安裝區段。

DDInstall 區段名稱會作為 HardwareServices 區段名稱的基底。 例如,如果找到的 DDInstall 區段名稱 InstallSec.NTX86Services 區段名稱必須命名 為 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

另請參閱

INF DDInstall 區段

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice