Функция SetupDiGetActualSectionToInstallExA (setupapi.h)
Функция
Синтаксис
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
Дескриптор INF-файла, содержащий раздел DDInstall.
[in] InfSectionName
Указатель на имя раздела DDInstall (как указано в разделе INF Models). Максимальная длина имени раздела в символах составляет 254.
[in, optional] AlternatePlatformInfo
Указатель, еслиNULL, в структуру SP_ALTPLATFORM_INFO. Эта структура используется для указания архитектуры операционной системы и процессора, отличающейся от архитектуры на локальном компьютере. Чтобы вернуть имя раздела
cbSize
Задайте размер в байтах SP_ALTPLATFORM_INFO структуры.
Платформа
Установите значение VER_PLATFORM_WIN32_NT для Windows XP и более поздних версий Windows.
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. Максимальная длина имени раздела INF, завершаемого значением NULL, в символах, MAX_INF_SECTION_NAME_LENGTH.
[out, optional] RequiredSize
Указатель на переменную, получающую размер символов, которая требуется для возврата имени раздела DDInstall DDInstall, расширения платформы и конца символа NULL.
[out, optional] Extension
Указатель на переменную, получающую указатель на символ ".", который отмечает начало расширения в буфере InfSectionWithExt. Если буфер InfSectionWithExt не указан или слишком мал, этот параметр не задан. Задайте для этого параметра значение NULL, если указатель на расширение не требуется.
Reserved
Зарезервировано только для внутреннего использования. Необходимо задать значение NULL.
Возвращаемое значение
Если функция выполнена успешно, она возвращает TRUE. В противном случае возвращается FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
SetupDiGetActualSectionToInstallEx — это расширенная форма SetupDiGetActualSectionToInstall. Эти функции поддерживают расширения для имена разделов DDInstall, которые используются для указания действий установки для конкретной ос и архитектуры для устройства. Дополнительные сведения об этих расширениях см. в создании 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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows XP и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | setupapi.h (include Setupapi.h) |
библиотеки |
Setupapi.lib |
См. также
раздел INF DDInstall