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


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

Извлекает сведения о записи кэша.

Синтаксис

BOOL GetUrlCacheEntryInfoA(
  [in]      LPCSTR                       lpszUrlName,
  [out]     LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out] LPDWORD                      lpcbCacheEntryInfo
);

Параметры

[in] lpszUrlName

Указатель на строку, завершающуюся нулевым значением, которая содержит имя записи кэша. Строка имени не должна содержать escape-символы.

[out] lpCacheEntryInfo

Указатель на структуру INTERNET_CACHE_ENTRY_INFO , которая получает сведения о записи кэша. Для этого параметра должен быть выделен буфер.

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

[in, out] lpcbCacheEntryInfo

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

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

Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Возможные значения ошибок:

Код возврата Описание
ERROR_FILE_NOT_FOUND
Указанная запись кэша не найдена в кэше.
ERROR_INSUFFICIENT_BUFFER
Размера lpCacheEntryInfo , указанного в lpdwCacheEntryInfoBufferSize , недостаточно для того, чтобы содержать всю информацию. Значение, возвращаемое в lpdwCacheEntryInfoBufferSize , указывает размер буфера, необходимый для хранения всех сведений.

Комментарии

GetUrlCacheEntryInfo не выполняет синтаксический анализ URL-адресов, поэтому URL-адрес, содержащий привязку (#), не будет найден в кэше, даже если ресурс кэширован. Например, если передается URL-адрес http://example.com/example.htm#sample , функция возвращает ERROR_FILE_NOT_FOUND , даже если http://example.com/example.htm находится в кэше.

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

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

Примечание

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

Требования

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

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

Кэширование

Функции WinINet