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


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

Функция SetupDiGetActualSectionToInstallEx извлекает имя раздела INF DDInstall , который устанавливает устройство для указанной операционной системы и архитектуры процессора.

Синтаксис

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallExW(
  [in]            HINF                 InfHandle,
  [in]            PCWSTR               InfSectionName,
  [in, optional]  PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
  [out, optional] PWSTR                InfSectionWithExt,
  [in]            DWORD                InfSectionWithExtSize,
  [out, optional] PDWORD               RequiredSize,
  [out, optional] PWSTR                *Extension,
                  PVOID                Reserved
);

Параметры

[in] InfHandle

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

[in] InfSectionName

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

[in, optional] AlternatePlatformInfo

Указатель на структуру SP_ALTPLATFORM_INFO, если значение не равно NULL. Эта структура используется для указания архитектуры операционной системы и процессора, отличающейся от архитектуры на локальном компьютере. Чтобы вернуть имя раздела 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 , расширения платформы и завершающего символа 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib

См. также раздел

INF DDInstall Section

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice