SetupDiGetActualSectionToInstallExA 函数 (setupapi.h)
SetupDiGetActualSectionToInstallEx 函数检索为指定操作系统和处理器体系结构安装设备的 INF DDInstall 节的名称。
语法
WINSETUPAPI BOOL SetupDiGetActualSectionToInstallExA(
[in] HINF InfHandle,
[in] PCSTR InfSectionName,
[in, optional] PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
[out, optional] PSTR InfSectionWithExt,
[in] DWORD InfSectionWithExtSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PSTR *Extension,
PVOID Reserved
);
参数
[in] InfHandle
包含 DDInstall 节的 INF 文件的句柄。
[in] InfSectionName
指向 INF 模型部分) 中指定的 DDInstall 节名称的指针 (。 节名称的最大长度(以字符为单位)为 254。
[in, optional] AlternatePlatformInfo
指向SP_ALTPLATFORM_INFO结构的指针(如果不是 NULL)。 此结构用于指定不同于本地计算机上的操作系统和处理器体系结构。 若要返回本地计算机的 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 并将 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 的安装节名称,则函数会根据指定的处理器体系结构搜索以下修饰名称之一:
- 如果指定基于 x86 的处理器体系结构,则函数将搜索修饰名称 InstallSec.ntx86。
- 如果指定基于 x64 的处理器体系结构,则函数将搜索修饰名称 InstallSec.ntamd64。
- 如果指定基于 Itanium 的处理器体系结构,函数将搜索修饰名称 InstallSec.ntia64。
如果函数找到名称、操作系统和处理器体系结构的匹配项,它将终止搜索并返回相应的修饰名称。 如果函数找不到此类匹配项,该函数将搜索名称为 InstallSec.nt 的部分。 如果函数找到 InstallSec.nt 的匹配项,它将终止搜索并返回此名称。 如果函数找不到上述任一搜索的匹配项,则返回 InstallSec,但不验证 INF 文件是否包含名为 InstallSec 的安装节。
注意
setupapi.h 标头将 SetupDiGetActualSectionToInstallEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows XP 和更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | setupapi.h (包括 Setupapi.h) |
Library | Setupapi.lib |