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
指向 DDInstall 节名称的指针(如 INF Models 节中指定的)。 节名称的最大长度(以字符为单位)为 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 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 节名称 installSec,则函数将搜索以下修饰名称之一,具体取决于指定的处理器体系结构:
- 如果指定基于 x86 的处理器体系结构,函数将在 InstallSec.ntx86搜索修饰的名称
。 - 如果指定基于 x64 的处理器体系结构,函数将在 InstallSec.ntamd64中搜索修饰名称
。 - 如果指定基于 Itanium 的处理器体系结构,函数将在 InstallSec.ntia64
搜索修饰名称。
如果函数查找名称、操作系统和处理器体系结构的匹配项,它将终止搜索并返回相应的修饰名称。 如果函数找不到此类匹配项,该函数将搜索名称 InstallSec.nt的节。 如果函数查找 InstallSec.nt的匹配项,它将终止搜索并返回此名称。 如果函数找不到上述任一搜索的匹配项,它将返回 InstallSec,但不验证 INF 文件是否包含名称 InstallSec的安装节。
- 如果指定基于 x86 的处理器体系结构,函数将在 InstallSec.ntx86搜索修饰的名称
注意
setupapi.h 标头将 SetupDiGetActualSectionToInstallEx 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows XP 和更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | setupapi.h (包括 Setupapi.h) |
库 | Setupapi.lib |