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


Функция CreateUrlCacheEntryA (wininet.h)

Создает локальное имя файла для сохранения записи кэша на основе указанного URL-адреса и расширения имени файла.

Синтаксис

BOOL CreateUrlCacheEntryA(
  [in]  LPCSTR lpszUrlName,
  [in]  DWORD  dwExpectedFileSize,
  [in]  LPCSTR lpszFileExtension,
  [out] LPSTR  lpszFileName,
  [in]  DWORD  dwReserved
);

Параметры

[in] lpszUrlName

Указатель на строковое значение, содержащее имя URL-адреса. Строка должна содержать значение; Пустая строка приведет к сбою CreateUrlCacheEntry. Кроме того, строка не должна содержать escape-символы.

[in] dwExpectedFileSize

Ожидаемый размер файла, необходимого для хранения данных, которые соответствуют исходной сущности, в TCHARs. Если ожидаемый размер неизвестен, задайте для этого значения нулевое значение.

[in] lpszFileExtension

Указатель на строковое значение, содержащее имя расширения файла в локальном хранилище.

[out] lpszFileName

Указатель на буфер, получающий имя файла. Буфер должен быть достаточно большим, чтобы сохранить путь к созданному файлу (по крайней мере MAX_PATH символов в длину).

[in] dwReserved

Этот параметр зарезервирован и должен иметь значение 0.

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

Если функция выполнена успешно, функция возвращает TRUE.

Если функция завершается ошибкой, она возвращает FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

После вызова CreateUrlCacheEntry приложение может записывать непосредственно в файл в локальном хранилище. После полного получения файла вызывающий объект должен вызывать CommitUrlCacheEntry для фиксации записи в кэше.

WinINet пытается декодировать параметры Юникода в соответствии с системной кодовой страницей. Приложения должны убедиться, что параметры Юникода правильно закодированы для системной кодовой страницы. Приложения могут задать системную кодовую страницу с InternetSetOption, как показано в следующем примере кода:

DWORD CP_SHIFT_JIS = 932;  // ANSI/OEM  Japanese, Shift-JIS
InternetSetOption( hRequest,
                   INTERNET_OPTION_CODEPAGE,
                   &CP_SHIFT_JIS,
                   sizeof(DWORD) );

Если параметр Юникода неправильно закодирован на системную кодовую страницу, WinINet пытается декодировать UTF8.

Когда элементы извлекаются из кэша, системная кодовая страница, используемая для размещения элемента в кэше, должна соответствовать текущей системной кодовой странице для пользователя. Если декодирование системной кодовой страницы выполняется в IE6 и более ранних версиях, WinINet пытается декодировать UTF8.

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

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

Заметка

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

Требования

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

См. также

кэширование

CommitUrlCacheEntry

Функции WinINet