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


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

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

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

Синтаксис

WINSETUPAPI BOOL SetupQueryInfVersionInformationA(
  [in]      PSP_INF_INFORMATION InfInformation,
  [in]      UINT                InfIndex,
  [in]      PCSTR               Key,
  [in, out] PSTR                ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

Параметры

[in] InfInformation

Указатель на структуру SP_INF_INFORMATION, ранее возвращенную из вызова функции SetupGetInfInformation.

[in] InfIndex

Индекс компонента INF-файла для получения сведений о версии. Этот индекс может находиться в диапазоне [0, InfInformation.InfCount). Это означает, что значения равны нулю, но не включают, InfInformation.InfCount допустимы.

[in] Key

Необязательный указатель на строку null-terminated, содержащую имя ключа, связанная строка которого требуется извлечь. Если этот параметр null, все ключи ресурсов копируются в предоставленный буфер. Каждая строка null-endd, с дополнительным null в конце списка.

[in, out] ReturnBuffer

Если не null, ReturnBuffer указывает на предоставленный вызов буфером символов, в котором эта функция возвращает стиль INF-файла. Следует использовать строку null-terminated. Строка null-terminated не должна превышать размер целевого буфера. Вы можете вызвать функцию один раз, чтобы получить необходимый размер буфера, выделить необходимую память, а затем вызвать функцию во второй раз, чтобы получить данные. С помощью этого метода можно избежать ошибок из-за недостаточного размера буфера. См. раздел "Примечания". Этот параметр может быть NULL.

[in] ReturnBufferSize

Размер буфера, на который указывает параметр ReturnBuffer, в символах. Это число включает в себя null конца.

[in, out] RequiredSize

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

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

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

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

Замечания

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

Если SetupQueryInfVersionInformation вызывается в устаревшем INF-файле, сведения о версии создаются из устаревшего INF-файла следующим образом:

  1. Ключ OptionType в разделе идентификации устаревшего файла возвращается в качестве значения ключа класса.
  2. Ключ FileType в разделе сигнатуры устаревшего INF-файла становится значением ключа подписи.
  3. Если значение ключа FileType устаревшего INF-файла MICROSOFT_FILE, значение ключа поставщика имеет значение Microsoft.
В следующей таблице показано, как данные претворяются перед передачей в структуру SP_INF_INFORMATION.
Устаревшие сведения о файле Сведения о WINDOWS INF
[Identification]
OptionType = Mouse
[Version]
Class=Mouse
[Signature]
FileType = MICROSOFT_FILE
Signature=MICROSOFT_FILE
(если FileType имеет значение MICROSOFT_FILE)
Provider="Microsoft"
 

Заметка

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

Требования

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

См. также

Функции

Обзор

SetupGetInfInformation

SetupQueryInfFileInformation