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


Функция 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 , а GetLastErrorERROR_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)