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


Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupQueryInfFileInformation

SetupQueryInfVersionInformation