Функция SetupDiGetActualSectionToInstallA (setupapi.h)
Функция SetupDiGetActualSectionToInstall извлекает соответствующий раздел INF DDInstall использовать при установке устройства с INF-файла устройства на локальном компьютере.
Синтаксис
WINSETUPAPI BOOL SetupDiGetActualSectionToInstallA(
[in] HINF InfHandle,
[in] PCSTR InfSectionName,
[out, optional] PSTR InfSectionWithExt,
[in] DWORD InfSectionWithExtSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PSTR *Extension
);
Параметры
[in] InfHandle
Дескриптор INF-файла, содержащий раздел DDInstall.
[in] InfSectionName
Указатель на имя раздела DDInstall (как указано в разделе INF Models). Максимальная длина имени раздела в символах составляет 254.
[out, optional] InfSectionWithExt
Указатель на буфер символов для получения имени раздела DDInstall, расширения платформы и конца NULL. Это украшенное имя раздела, которое должно использоваться для установки. Если этот параметр NULL, InfSectionWithExtSize должно быть равно нулю. Если этот параметр NULL, функция возвращает TRUE и задает RequiredSize размеру в символах, которые требуются для возврата имени раздела DDInstall, расширения платформы и конца символа NULL.
[in] InfSectionWithExtSize
Размер в символах буфера InfSectionWithExt. Если InfSectionWithExtNULL, этот параметр должен быть равен нулю.
[out, optional] RequiredSize
Указатель на переменную, получающую размер символов, которая требуется для возврата имени раздела DDInstall DDInstall, расширения платформы и конца символа NULL.
[out, optional] Extension
Указатель на переменную, получающую указатель на символ ".", который отмечает начало расширения в буфере InfSectionWithExt. Если буфер InfSectionWithExt не указан или слишком мал, этот параметр не задан. Задайте для этого параметра значение NULL, если указатель на расширение не требуется.
Возвращаемое значение
Если функция выполнена успешно, она возвращает TRUE. Если функция завершается ошибкой, она возвращает FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Эта функция поддерживает расширения для имен разделов DDInstall, которые используются для указания поведения установки для конкретной ОС и архитектуры для устройства. Дополнительные сведения об этих расширениях см. в создании INF-файлов для нескольких платформ и операционных систем. SetupDiGetActualSectionToInstall ищет имя раздела DDInstall, соответствующее локальному компьютеру, как описано ниже.
Функция сначала выполняет поиск в указанном INF-файле для имени раздела установки, соответствующего указанному имени, и имеет расширение, соответствующее архитектуре операционной системы и процессора локального компьютера. Например, если указать имя раздела InstallSec, функция выполняет поиск одного из следующих украшенных имен в зависимости от архитектуры процессора локального компьютера:
- Для компьютера, основанного на архитектуре процессора x86, функция ищет украшенное имя InstallSec.ntx86.
- Для компьютера, основанного на архитектуре процессора x64, функция ищет украшенное имя InstallSec.ntamd64.
- Для компьютера, основанного на архитектуре процессора Itanium, функция ищет украшенное имя InstallSec.ntia64.
Имя раздела DDInstall используется в качестве основы для имен разделов аппаратных и служб служб. Например, если имя раздела
Исходное имя раздела
InfSection : REG_SZ : "InstallSec"
InfSectionExt : REG_SZ : ".NTX86"
Если драйвер не выбран для указанного элемента сведений об устройстве, устанавливается драйвер NULL. По возвращении флаги в структуре SP_DEVINSTALL_PARAMS устройства указывают, следует ли перезапустить или перезагрузить систему, чтобы запустить устройство.
Заметка
Заголовок setupapi.h определяет SetupDiGetActualSectionToInstall как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | setupapi.h (include Setupapi.h) |
библиотеки |
Setupapi.lib |
См. также
раздел INF DDInstall