Функция CreateUrlCacheEntryW (wininet.h)
Создает локальное имя файла для сохранения записи кэша на основе указанного URL-адреса и расширения имени файла.
Синтаксис
BOOL CreateUrlCacheEntryW(
[in] LPCWSTR lpszUrlName,
[in] DWORD dwExpectedFileSize,
[in] LPCWSTR lpszFileExtension,
[out] LPWSTR 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.h определяет CreateUrlCacheEntry как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wininet.h |
Библиотека | Wininet.lib |
DLL | Wininet.dll |