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


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

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

Функция setupGetSourceInfo извлекает путь, файл тега или описание носителя для источника, указанного в INF-файле.

Синтаксис

WINSETUPAPI BOOL SetupGetSourceInfoA(
  [in]      HINF   InfHandle,
  [in]      UINT   SourceId,
  [in]      UINT   InfoDesired,
  [in, out] PSTR   ReturnBuffer,
  [in]      DWORD  ReturnBufferSize,
  [in, out] PDWORD RequiredSize
);

Параметры

[in] InfHandle

Обработайте открытый INF-файл, содержащий раздел SourceDisksNames. Если для системы пользователя существуют разделы для конкретной платформы (например, SourceDisksNames.x86), будет использоваться раздел, зависящий от платформы.

[in] SourceId

Идентификатор исходного носителя. Это значение используется для поиска по ключу в разделе SourceDisksNames.

[in] InfoDesired

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

SRCINFO_PATH

Путь, указанный для источника. Это не полный путь, но путь относительно корневого каталога установки.

SRCINFO_TAGFILE

Файл тега, идентифицирующий исходный носитель, или если используются шкафы, имя файла шкафа.

SRCINFO_DESCRIPTION

Описание носителя.

[in, out] ReturnBuffer

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

[in] ReturnBufferSize

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

[in, out] RequiredSize

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

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

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

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

Замечания

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

Заметка

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

Требования

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

См. также

Функции

Обзор

SetupGetSourceFileLocation

SetupGetSourceFileSize

SetupGetTargetPath