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 失败 。 此外,字符串不得包含任何转义字符。

[in] dwExpectedFileSize

存储与源实体对应的数据所需的文件大小,TCHAR。 如果预期大小未知,请将此值设置为零。

[in] lpszFileExtension

指向包含本地存储中文件的扩展名的字符串值的指针。

[out] lpszFileName

指向接收文件名的缓冲区的指针。 缓冲区应足够大,足以存储所创建文件的路径(长度至少MAX_PATH个字符)。

[in] dwReserved

此参数是保留的,必须为 0。

返回值

如果函数成功,该函数将返回 true

如果该函数失败,则返回 FALSE。 若要获取扩展的错误信息,请调用 GetLastError

言论

CreateUrlCacheEntry 调用后,应用程序可以直接写入本地存储中的文件。 完全接收文件时,调用方应调用 CommitUrlCacheEntry 来提交缓存中的条目。

WinINet 尝试根据系统代码页解码 Unicode 参数。 应用程序应确保为系统代码页正确编码 Unicode 参数。 应用程序可以使用 InternetSetOption 设置系统代码页,如以下代码示例所示:

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

如果 Unicode 参数未正确编码到系统代码页,WinINet 将尝试 UTF8 解码。

从缓存中检索项时,用于将项放置在缓存中的系统代码页必须与用户的当前系统代码页匹配。 对于在 IE6 及更早版本下运行的应用程序,如果系统代码页的解码失败,WinINet 将尝试 UTF8 解码。

与 WinINet API 的其他所有方面一样,不能从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。

注意 WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP 服务(WinHTTP)
 

注意

wininet.h 标头将 CreateUrlCacheEntry 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 wininet.h
Wininet.lib
DLL Wininet.dll

另请参阅

缓存

CommitUrlCacheEntry

WinINet 函数