Функция RetrieveUrlCacheEntryStreamA (wininet.h)
Предоставляет наиболее эффективный и независимый от реализации способ доступа к данным кэша.
Синтаксис
HANDLE RetrieveUrlCacheEntryStreamA(
[in] LPCSTR lpszUrlName,
[out] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
[in, out] LPDWORD lpcbCacheEntryInfo,
[in] BOOL fRandomRead,
[in] DWORD dwReserved
);
Параметры
[in] lpszUrlName
Указатель на строку, завершающуюся значением NULL, содержащую исходное имя записи кэша. Это должно быть уникальное имя. Строка имени не должна содержать escape-символы.
[out] lpCacheEntryInfo
Указатель на структуру INTERNET_CACHE_ENTRY_INFO, которая получает сведения о записи кэша.
[in, out] lpcbCacheEntryInfo
Указатель на переменную, указывающую размер буфера lpCacheEntryInfo. Когда функция возвращается, переменная получает количество байтов, скопированных в буфер или требуемый размер в байтах буфера. Обратите внимание, что этот размер буфера должен содержать как INTERNET_CACHE_ENTRY_INFO структуру, так и связанные строки, которые хранятся сразу после него.
[in] fRandomRead
Открыт ли поток для случайного доступа. Задайте для флага значение TRUE, чтобы открыть поток для случайного доступа.
[in] dwReserved
Этот параметр зарезервирован и должен иметь значение 0.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает допустимый дескриптор для использования в функциях
Если функция завершается ошибкой, она возвращает NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Возможные значения ошибок включают следующие значения.
Возвращаемый код | Описание |
---|---|
|
Запись кэша, указанная именем источника, не найдена в хранилище кэша. |
|
Размер lpCacheEntryInfo, как указано в lpdwCacheEntryInfoBufferSize, недостаточно для хранения всех сведений. Значение, возвращаемое в lpdwCacheEntryInfoBufferSize указывает размер буфера, необходимый для хранения всех сведений. |
Замечания
RetrieveUrlCacheEntryStream не выполняет синтаксический анализ URL-адресов, поэтому URL-адрес, содержащий привязку (#), не будет найден в кэше, даже если ресурс кэшируется. Например, если передается URL-адрес http://adatum.com/example.htm#sample, функция возвращает ERROR_FILE_NOT_FOUND даже если http://adatum.com/example.htm находится в кэше.
Кэшируйте клиенты, которые не нуждаются в URL-адресах в виде файла, должны использовать эту функцию для доступа к данным для определенного URL-адреса.
Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.
Заметка
Заголовок wininet.h определяет RetrieveUrlCacheEntryStream как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |
См. также
функций WinINet