Поделиться через


Функция SetupDiGetActualSectionToInstallExA (setupapi.h)

Функция SetupDiGetActualSectionToInstallEx извлекает имя раздела INF DDInstall 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

Дескриптор INF-файла, содержащий раздел DDInstall.

[in] InfSectionName

Указатель на имя раздела DDInstall (как указано в разделе INF Models). Максимальная длина имени раздела в символах составляет 254.

[in, optional] AlternatePlatformInfo

Указатель, еслиNULL, в структуру SP_ALTPLATFORM_INFO. Эта структура используется для указания архитектуры операционной системы и процессора, отличающейся от архитектуры на локальном компьютере. Чтобы вернуть имя раздела DDInstall для локального компьютера, задайте для этого параметра значение NULL. В противном случае укажите структуру SP_ALTPLATFORM и задайте ее члены следующим образом:

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

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice