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