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


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

Заметка

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

Требования

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

См. также

кэширование

Функции WinINet