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


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

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

Синтаксис

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

Параметры

[in] lpszUrlName

Указатель на строку, завершающуюся значением NULL, которая содержит имя записи кэша. Строка имени не должна содержать 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 Services (WinHTTP).
 

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wininet.h
библиотеки Wininet.lib
DLL Wininet.dll

См. также

кэширование

Функции WinINet