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 。 调用 GetLastError 获取特定错误信息。 可能的错误包括以下内容。
返回代码 | 说明 |
---|---|
|
即使在考虑了任何缓存重定向之后,缓存索引中也没有找到该 URL。 |
|
lpCacheEntryInfo 引用的缓冲区不够大,无法保存请求的信息。 所需的缓冲区大小将返回到 lpdwCacheEntryInfoBufSize。 |
注解
GetUrlCacheEntryInfoEx 不执行任何 URL 分析,因此即使缓存资源已缓存,也不会在缓存中找到包含定位点 (#) 的 URL。 例如,如果传递 URL http://example.com/example.htm#sample
,函数将返回ERROR_FILE_NOT_FOUND,即使 http://example.com/example.htm
位于缓存中。
与 WinINet API 的所有其他方面一样,无法从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。
注意
wininet.h 标头将 GetUrlCacheEntryInfoEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wininet.h |
Library | Wininet.lib |
DLL | Wininet.dll |