Функция SetupGetSourceInfoA (setupapi.h)
[Эта функция доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]
Функция setupGetSourceInfo
Синтаксис
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 |
См. также
Обзор