Функция CommitUrlCacheEntryW (wininet.h)
Хранит данные в указанном файле в кэше Интернета и связывает их с указанным URL-адресом.
Синтаксис
BOOL CommitUrlCacheEntryW(
[in] LPCWSTR lpszUrlName,
[in] LPCWSTR lpszLocalFileName,
[in] FILETIME ExpireTime,
[in] FILETIME LastModifiedTime,
[in] DWORD CacheEntryType,
[in] LPWSTR lpszHeaderInfo,
[in] DWORD cchHeaderInfo,
[in] LPCWSTR lpszFileExtension,
[in] LPCWSTR lpszOriginalUrl
);
Параметры
[in] lpszUrlName
Указатель на строковую переменную, содержащую исходное имя записи кэша. Строка имени должна быть уникальной и не должна содержать escape-символы.
[in] lpszLocalFileName
Указатель на строковую переменную, содержащую имя кэшируемого локального файла. Это должно быть то же имя, что и имя, возвращенное CreateUrlCacheEntryW.
[in] ExpireTime
Структура FILETIME, содержащая дату и время окончания срока действия кэшируемого файла (среднее время по Гринвичу). Если дата и время окончания срока действия неизвестны, задайте для этого параметра значение 0.
[in] LastModifiedTime
Структура FILETIME, содержащая дату и время последнего изменения (в среднем по Гринвичу) кэшируемого URL-адреса. Если дата и время последнего изменения неизвестны, задайте для этого параметра нулевое значение.
[in] CacheEntryType
Битовая маска, указывающая тип записи кэша и ее свойства. К типам записей кэша относятся записи журнала (URLHISTORY_CACHE_ENTRY), записи файлов cookie (COOKIE_CACHE_ENTRY) и обычное кэшированное содержимое (NORMAL_CACHE_ENTRY).
Этот параметр может быть равен нулю или нескольким из следующих флагов свойств, а также флагов типа кэша, перечисленных ниже.
Значение | Значение |
---|---|
|
Запись в кэше файлов cookie. |
|
Файл записи кэша, который был изменен извне. Этот тип записи кэша исключается из очистки. |
|
Обычная запись кэша; можно удалить, чтобы освободить место для новых записей. |
|
Запись в кэше с частичным откликом. |
|
Закрепленная запись в кэше; не подвергается очистке. |
|
В настоящий момент не реализовано. |
|
В настоящий момент не реализовано. |
|
Запись посещенной ссылки в кэше. |
[in] lpszHeaderInfo
Указатель на буфер, содержащий сведения о заголовке. Если этот параметр не равен NULL, сведения о заголовке обрабатываются как расширенные атрибуты URL-адреса, возвращаемые в элементе lpHeaderInfo структуры INTERNET_CACHE_ENTRY_INFO .
[in] cchHeaderInfo
Размер сведений о заголовке в TCHAR. Если значение lpHeaderInfo не равно NULL, предполагается, что это значение указывает размер буфера, в котором хранятся сведения о заголовке. Приложение может хранить заголовки как часть данных и предоставлять cchHeaderInfo вместе со значением NULL для lpHeaderInfo.
[in] lpszFileExtension
Этот параметр зарезервирован и должен иметь значение NULL.
[in] lpszOriginalUrl
Указатель на строку, содержащую исходный URL-адрес, если произошло перенаправление.
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Ниже приведены возможные значения ошибок.
Код возврата | Описание |
---|---|
|
Хранилище кэша заполнено. |
|
Указанный локальный файл не найден. |
Комментарии
Тип STICKY_CACHE_ENTRY используется для исключения записей кэша из очистки. Время исключения по умолчанию для записей, заданных с помощью CommitUrlCacheEntryW , составляет десять минут. Время исключения можно изменить, задав параметр expires time в структуре INTERNET_CACHE_ENTRY_INFO в вызове функции SetUrlCacheEntryInfo .
Если хранилище кэша заполнено, CommitUrlCacheEntryW вызывает очистку кэша, чтобы освободить место для этого нового файла. Если запись кэша уже существует, функция перезаписывает запись, если она не используется. Запись используется, если она была получена с помощью RetrieveUrlCacheEntryStream или RetrieveUrlCacheEntryFile.
Клиенты, добавляющие записи в кэш, должны задать для заголовков не менее "HTTP/1.0 200 ОК\r\n\r\n"; В противном случае интернет-Обозреватель Майкрософт и другие клиентские приложения должны игнорировать запись.
Пример кода, вызывающего CreateUrlCacheEntryW, см. в разделе Кэширование.
Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из библиотеки DllMain или из конструкторов и деструкторов глобальных объектов.
Примечание
Заголовок wininet.h определяет CommitUrlCacheEntry в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wininet.h |
Библиотека | Wininet.lib |
DLL | Wininet.dll |