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

Извлекает сведения о записи кэша, связанной с указанным URL-адресом, с учетом всех перенаправлений, применяемых функцией HttpSendRequest в автономном режиме.

Синтаксис

BOOL GetUrlCacheEntryInfoExA(
  [in]                LPCSTR                       lpszUrl,
  [in, out, optional] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out, optional] LPDWORD                      lpcbCacheEntryInfo,
  [out]               LPSTR                        lpszRedirectUrl,
  [in, out]           LPDWORD                      lpcbRedirectUrl,
                      LPVOID                       lpReserved,
  [in]                DWORD                        dwFlags
);

Параметры

[in] lpszUrl

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

[in, out, optional] lpCacheEntryInfo

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

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

[in, out, optional] lpcbCacheEntryInfo

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

[out] lpszRedirectUrl

Этот параметр зарезервирован и должен иметь значение NULL.

[in, out] lpcbRedirectUrl

Этот параметр зарезервирован и должен иметь значение NULL.

lpReserved

Этот параметр зарезервирован и должен иметь значение NULL.

[in] dwFlags

Этот параметр зарезервирован и должен иметь значение 0.

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

Возвращает значение TRUE , если URL-адрес был найден, или false в противном случае. Вызовите GetLastError для получения конкретных сведений об ошибке. Возможные ошибки:

Код возврата Описание
ERROR_FILE_NOT_FOUND
URL-адрес не найден в индексе кэша даже после учета кэшированных перенаправлений.
ERROR_INSUFFICIENT_BUFFER
Буфер, на который ссылается lpCacheEntryInfo, не был достаточно велик для хранения запрошенной информации. Требуемый размер буфера будет возвращен в lpdwCacheEntryInfoBufSize.

Комментарии

GetUrlCacheEntryInfoEx не выполняет синтаксический анализ 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 определяет GetUrlCacheEntryInfoEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

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

Кэширование

Функции WinINet