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


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

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

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

Синтаксис

WINSETUPAPI BOOL SetupGetSourceInfoW(
  [in]      HINF   InfHandle,
  [in]      UINT   SourceId,
  [in]      UINT   InfoDesired,
  [in, out] PWSTR  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. Строка, завершающаяся значением NULL, не должна превышать размер буфера назначения. Вы можете вызвать функцию один раз, чтобы получить требуемый размер буфера, выделить необходимую память, а затем вызвать функцию во второй раз, чтобы получить данные. См. раздел «Примечания». С помощью этого метода можно избежать ошибок из-за недостаточного размера буфера. Этот параметр может принимать значение NULL.

[in] ReturnBufferSize

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

[in, out] RequiredSize

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

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

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

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

Комментарии

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

Примечание

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

Требования

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

См. также

Функции

Обзор

SetupGetSourceFileLocation

SetupGetSourceFileSize

SetupGetTargetPath