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


Функция InternetGetLastResponseInfoA (wininet.h)

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

Синтаксис

BOOL InternetGetLastResponseInfoA(
  [out]     LPDWORD lpdwError,
  [out]     LPSTR   lpszBuffer,
  [in, out] LPDWORD lpdwBufferLength
);

Параметры

[out] lpdwError

Указатель на переменную, получающую сообщение об ошибке, относящееся к операции, которая завершилась сбоем.

[out] lpszBuffer

Указатель на буфер, который получает текст ошибки.

[in, out] lpdwBufferLength

Указатель на переменную, содержащую размер буфера lpszBuffer , в TCHAR. При возврате функции этот параметр содержит размер строки, записанной в буфер, не включая завершающий нуль.

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

Возвращает значение TRUE , если текст ошибки был успешно записан в буфер, или false в противном случае. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Если буфер слишком мал, чтобы вместить весь текст ошибки, Метод GetLastError возвращает ERROR_INSUFFICIENT_BUFFER, а параметр lpdwBufferLength содержит минимальный размер буфера, необходимый для возврата всего текста ошибки.

Комментарии

Протоколы FTP могут возвращать дополнительные текстовые сведения вместе с большинством ошибок. Эти расширенные сведения об ошибке можно получить с помощью функции InternetGetLastResponseInfo всякий раз, когда GetLastError возвращает ERROR_INTERNET_EXTENDED_ERROR (возникает после неудачного вызова функции).

Буфер, на который указывает lpszBuffer , должен быть достаточно большим для хранения строки ошибки и нулевого признака конца в конце строки. Однако обратите внимание, что значение, возвращаемое в lpdwBufferLength , не содержит завершающего нуля.

InternetGetLastResponseInfo можно вызывать несколько раз, пока в этом потоке не будет вызвана другая функция. При вызове другой функции внутренний буфер, в котором хранятся последние сведения об ответе, очищается.

Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из библиотеки DllMain или из конструкторов и деструкторов глобальных объектов.

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для серверных реализаций или служб используйте службы Microsoft Windows HTTP (WinHTTP).
 

Примечание

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

Требования

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

См. также раздел

Общие функции

Функции WinINet