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


Функция 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, содержащей дату и время окончания срока действия (в среднем время Greenwich) кэшируемого файла. Если дата и время истечения срока действия неизвестны, задайте для этого параметра значение нулю.

[in] LastModifiedTime

структура FILETIME, содержащая последнюю измененную дату и время (в среднем время Greenwich) кэшируемого URL-адреса. Если дата и время последнего изменения неизвестны, задайте этот параметр равным нулю.

[in] CacheEntryType

Битовая маска, указывающая тип записи кэша и его свойства. Типы записей кэша: записи журнала (URLHISTORY_CACHE_ENTRY), записи cookie (COOKIE_CACHE_ENTRY) и обычное кэшированное содержимое (NORMAL_CACHE_ENTRY).

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

Ценность Значение
COOKIE_CACHE_ENTRY
Запись кэша файлов cookie.
EDITED_CACHE_ENTRY
Файл записи кэша, который был изменен внешним образом. Этот тип записи кэша исключается из очистки.
NORMAL_CACHE_ENTRY
Обычная запись кэша; можно удалить, чтобы восстановить пространство для новых записей.
SPARSE_CACHE_ENTRY
Запись кэша частичных ответов.
STICKY_CACHE_ENTRY
Запись липкого кэша; исключение из очистки.
TRACK_OFFLINE_CACHE_ENTRY
В настоящее время не реализовано.
TRACK_ONLINE_CACHE_ENTRY
В настоящее время не реализовано.
URLHISTORY_CACHE_ENTRY
Запись кэша посещаемых ссылок.

[in] lpszHeaderInfo

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

[in] cchHeaderInfo

Размер сведений о заголовке в TCHARs. Если lpHeaderInfo не NULL, предполагается, что это значение указывает размер буфера, в который хранятся сведения о заголовке. Приложение может поддерживать заголовки как часть данных и предоставлять cchHeaderInfo вместе со значением NULL для lpHeaderInfo.

[in] lpszFileExtension

Этот параметр зарезервирован и должен быть null.

[in] lpszOriginalUrl

Указатель на строку, содержащую исходный URL-адрес, если произошло перенаправление.

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

Возвращает TRUE, если выполнено успешно или FALSE в противном случае. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError. Ниже приведены возможные значения ошибок.

Возвращаемый код Описание
ERROR_DISK_FULL
Хранилище кэша заполнено.
ERROR_FILE_NOT_FOUND
Указанный локальный файл не найден.

Замечания

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

Если хранилище кэша заполнено, CommitUrlCacheEntryW вызывает очистку кэша, чтобы освободить место для этого нового файла. Если запись кэша уже существует, функция перезаписывает запись, если она не используется. Запись используется при извлечении с RetrieveUrlCacheEntryStream или RetrieveUrlCacheEntryFile.

Клиенты, добавляющие записи в кэш, должны задать заголовки по крайней мере "HTTP/1.0 200 OK\r\n\r\n"; в противном случае Microsoft Internet Explorer и другие клиентские приложения должны игнорировать запись.

См. кэширование, например, вызов кода CreateUrlCacheEntryW.

Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для реализации или служб сервера microsoft Windows HTTP Services (WinHTTP).
 

Заметка

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

Требования

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

См. также

кэширование

Функции WinINet