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


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

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

Функция SetupGetLineText возвращает содержимое строки в INF-файле в компактной форме. Извлекаемую строку можно указать структурой INFCONTEXT , возвращаемой функцией SetupFindLineXXX, или явно передав дескриптор INF, раздел и ключ нужной строки.

Синтаксис

WINSETUPAPI BOOL SetupGetLineTextA(
  [in]      PINFCONTEXT Context,
  [in]      HINF        InfHandle,
  [in]      PCSTR       Section,
  [in]      PCSTR       Key,
  [in, out] PSTR        ReturnBuffer,
  [in]      DWORD       ReturnBufferSize,
  [in, out] PDWORD      RequiredSize
);

Параметры

[in] Context

Контекст для строки в INF-файле, текст которой требуется извлечь. Этот параметр может принимать значение NULL. Если аргумент Context имеет значение NULL, необходимо указать InfHandle, Section и Key .

[in] InfHandle

Выполните запрос к INF-файлу. Этот параметр может принимать значение NULL. Этот параметр используется только в том случае, если context имеет значение NULL. Если аргумент Context имеет значение NULL, необходимо указать InfHandle, Section и Key .

[in] Section

Указатель на строку, завершающуюся нулевым значением, которая указывает раздел, содержащий имя ключа строки, текст которой требуется извлечь. Этот параметр может принимать значение NULL. Этот параметр используется только в том случае, если context имеет значение NULL. Если context имеет значение NULL, необходимо указать InfHandle, Section и Key .

[in] Key

Указатель на строку, завершающуюся нулевым значением, которая содержит имя ключа, связанная строка которого должна быть извлечена. Этот параметр может принимать значение NULL. Этот параметр используется только в том случае, если context имеет значение NULL. Если context имеет значение NULL, необходимо указать InfHandle, Section и Key .

[in, out] ReturnBuffer

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

[in] ReturnBufferSize

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

[in, out] RequiredSize

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

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

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

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

Комментарии

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

Эта функция возвращает содержимое строки в компактном формате. Все лишние пробелы удаляются, а многострочные значения преобразуются в одну непрерывную строку. Например, эта строка:

HKLM, , PointerClass0, 1 \
; This is a comment
01, 02, 03

возвращается следующим образом:

HKLM,,PointerClass0,1,01,02,03

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header setupapi.h
Библиотека Setupapi.lib
DLL Setupapi.dll
Набор API ext-ms-win-setupapi-inf-l1-1-0 (представлено в Windows 8)

См. также

Функции

Обзор

SetupFindFirstLine

SetupFindNextLine

SetupFindNextMatchLine

SetupGetLineByIndex