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


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

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

Функция SetUpGetInfInformation возвращает структуру SP_INF_INFORMATION для указанного INF-файла в буфер.

Синтаксис

WINSETUPAPI BOOL SetupGetInfInformationA(
  [in]      LPCVOID             InfSpec,
  [in]      DWORD               SearchControl,
  [in, out] PSP_INF_INFORMATION ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

Параметры

[in] InfSpec

Дескриптор или имя файла INF в зависимости от значения SearchControl.

[in] SearchControl

Этот параметр может быть одной из следующих констант.

INFINFO_INF_SPEC_IS_HINF

InfSpec — это дескриптор INF. Один дескриптор INF может ссылаться на несколько INF-файлов, если они были загружены вместе. Если это так, структура, возвращаемая этой функцией, содержит несколько наборов сведений.

INFINFO_INF_NAME_IS_ABSOLUTE

Строка, указанная для InfSpec , является полным путем. Дальнейшая обработка в InfSpec не выполняется.

Выполните поиск в расположениях по умолчанию для INF-файла, указанного для InfSpec, который считается только именем файла. Расположения по умолчанию : %windir%\inf, за которым следует %windir%\system32.

Как и INFINFO_DEFAULT_SEARCH, за исключением расположений по умолчанию, поиск выполняется в обратном порядке.

Найдите inf-файл в каждом из каталогов, перечисленных в записи Значение DevicePath в следующем:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

[in, out] ReturnBuffer

Если значение не равно NULL, указывает на буфер, в котором эта функция возвращает структуру SP_INF_INFORMATION .

Можно вызвать функцию один раз, чтобы получить требуемый размер буфера, выделить необходимую память, а затем вызвать функцию второй раз для получения данных. С помощью этого метода можно избежать ошибок из-за недостаточного размера буфера. Дополнительные сведения см. в разделе Примечания этого раздела.

[in] ReturnBufferSize

Размер ReturnBuffer в байтах.

[in, out] RequiredSize

Если значение не равно NULL, указывает на переменную, в которой эта функция возвращает требуемый размер в байтах для буфера, на который указывает ReturnBuffer.

Если параметр ReturnBuffer указан и требуемый размер больше , чем ReturnBufferSize, функция завершается ошибкой и вызов GetLastError возвращает ERROR_INSUFFICIENT_BUFFER.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет ненулевым.

Если функция завершается сбоем, возвращается значение 0 (ноль). Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Если INF-файл не удается найти, функция возвращает значение FALSE , а последующий вызов Метода GetLastError возвращает ERROR_FILE_NOT_FOUND.

Комментарии

Если эта функция вызывается с ReturnBuffer со значением NULL и ReturnBufferSize равным 0 (ноль), функция помещает размер буфера, необходимый для хранения указанных данных, в переменную, на которую указывает параметр RequiredSize. Если функция выполняется успешно, возвращаемое значение будет ненулевым. В противном случае возвращаемое значение равно 0 (нулю), а расширенные сведения об ошибке можно получить, вызвав Метод GetLastError.

Примечание

Заголовок setupapi.h определяет SetupGetInfInformation в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header setupapi.h
Библиотека Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupQueryInfFileInformation

SetupQueryInfVersionInformation