Функция 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.h определяет CreateUrlCacheEntry как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |