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


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

[Эта функция доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]

Функция setupEnumInfSections извлекает имена разделов из INF-файла.

Синтаксис

WINSETUPAPI BOOL SetupEnumInfSectionsA(
  [in]            HINF InfHandle,
  [in]            UINT Index,
  [out, optional] PSTR 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 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll
набор API ext-ms-win-setupapi-inf-l1-1-1 (представлено в Windows 10 версии 10.0.14393)