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


Функция 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

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

[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 (WinHTTP).
 

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wininet.h
Библиотека Wininet.lib
DLL Wininet.dll

См. также раздел

Кэширование

CommitUrlCacheEntry

Функции WinINet