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

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

注意

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

要求

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

另请参阅

缓存

CommitUrlCacheEntry

WinINet 函数