Функция SetupEnumInfSectionsW (setupapi.h)
[Эта функция доступна для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]
Функция SetupEnumInfSections извлекает имена разделов из INF-файла.
Синтаксис
WINSETUPAPI BOOL SetupEnumInfSectionsW(
[in] HINF InfHandle,
[in] UINT Index,
[out, optional] PWSTR Buffer,
[in] UINT Size,
[out, optional] UINT *SizeNeeded
);
Параметры
[in] InfHandle
Обработка INF-файла, к которому будет выполняться запрос.
[in] Index
Отсчитываемый от нуля индекс извлекаемого имени раздела. Этот индекс может не соответствовать порядку разделов, которые отображаются в INF-файле.
[out, optional] Buffer
Указатель на буфер, получающий имя раздела. Вы можете вызвать функцию один раз, чтобы получить требуемый размер буфера, выделить необходимую память, а затем вызвать функцию во второй раз, чтобы получить имя. С помощью этого метода можно избежать ошибок, вызванных недостаточным размером буфера. Этот параметр является необязательным. Дополнительные сведения см. в разделе «Примечания».
[in] Size
Размер буфера, на который указывает ReturnBuffer , в символах. Это число включает завершающий символ NULL .
[out, optional] SizeNeeded
Указатель на расположение, которое получает требуемый размер буфера, на который указывает ReturnBuffer. Размер указывается как количество символов, необходимых для хранения имени раздела, включая завершающий символ NULL .
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
GetLastError возвращает ERROR_NO_MORE_ITEMS , если значение EnumerationIndex больше или равно количеству имен разделов в INF-файле.
Комментарии
Эта функция может перечислять все уникальные имена разделов в INF-файле. Если имя раздела отображается в INF-файле несколько раз, функция возвращает имя только один раз, используя один индекс перечисления. Чтобы вернуть все имена разделов в INF-файле, вызовите функцию, начинающуюся с нулевого индекса перечисления, а затем выполняйте повторные вызовы функции при приращении индекса до тех пор, пока функция не вернет значение FALSE , а GetLastError — ERROR_NO_MORE_ITEMS. Приложение не должно полагаться на имена разделов, возвращаемых в любом порядке на основе индекса перечисления.
Примечание
Заголовок setupapi.h определяет SetupEnumInfSections в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | setupapi.h |
Библиотека | Setupapi.lib |
DLL | Setupapi.dll |
Набор API | ext-ms-win-setupapi-inf-l1-1-1 (появилось в Windows 10 версии 10.0.14393) |