GetUrlCacheEntryInfoExA 函数 (wininet.h)

检索与指定 URL 关联的缓存项的相关信息,并考虑 HttpSendRequest 函数在脱机模式下应用的任何重定向。

语法

BOOL GetUrlCacheEntryInfoExA(
  [in]                LPCSTR                       lpszUrl,
  [in, out, optional] LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,
  [in, out, optional] LPDWORD                      lpcbCacheEntryInfo,
  [out]               LPSTR                        lpszRedirectUrl,
  [in, out]           LPDWORD                      lpcbRedirectUrl,
                      LPVOID                       lpReserved,
  [in]                DWORD                        dwFlags
);

参数

[in] lpszUrl

指向包含缓存项名称的 null终止字符串的指针。 名称字符串不应包含任何转义字符。

[in, out, optional] lpCacheEntryInfo

指向接收有关缓存项信息的 INTERNET_CACHE_ENTRY_INFO 结构的指针。 应为此参数分配缓冲区。

由于预先不知道缓冲区的所需大小,因此最好分配足以处理大多数 INTERNET_CACHE_ENTRY_INFO 项大小的缓冲区。 没有缓存条目大小限制,因此需要枚举缓存的应用程序必须准备好分配可变大小的缓冲区。

[in, out, optional] lpcbCacheEntryInfo

指向一个变量的指针,该变量指定 lpCacheEntryInfo 缓冲区的大小(以字节为单位)。 函数返回时,变量包含复制到缓冲区的字节数,或缓冲区的所需大小(以字节为单位)。

[out] lpszRedirectUrl

此参数是保留的,必须 NULL

[in, out] lpcbRedirectUrl

此参数是保留的,必须 NULL

lpReserved

此参数是保留的,必须 NULL

[in] dwFlags

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

返回值

如果 URL 位于,则返回 TRUE;否则返回 false FALSE。 调用 GetLastError 以获取特定错误信息。 可能的错误包括以下内容。

返回代码 描述
ERROR_FILE_NOT_FOUND
即使在考虑到任何缓存重定向之后,缓存索引中也没有找到该 URL。
ERROR_INSUFFICIENT_BUFFER
lpCacheEntryInfo 引用的缓冲区不够大,无法容纳请求的信息。 所需的缓冲区大小将返回到 lpdwCacheEntryInfoBufSize

言论

GetUrlCacheEntryInfoEx 不执行任何 URL 分析,因此,即使缓存了资源,也不会在缓存中找到包含定位点(#)的 URL。 例如,如果传递 URL http://example.com/example.htm#sample,即使 http://example.com/example.htm 在缓存中,函数也会返回ERROR_FILE_NOT_FOUND。

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

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

注意

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

要求

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

另请参阅

缓存

WinINet 函数