FindFirstUrlCacheEntry
VC函数声明:
HANDLE FindFirstUrlCacheEntry(
LPCTSTR lpszUrlSearchPattern,
LPINTERNET_CACHE_ENTRY_INFO lpFirstCacheEntryInfo,
LPDWORD lpdwFirstCacheEntryInfoBufferSize);
函数功能:从Internet的高速缓存中找到特定入口
参数说明:
LPCTSTR lpszUrlSearchPattern,入口特征字段,比如cook:或者visited: 如果该参数没有指定则为*.*
lpFirstCacheEntryInfo INTERNET_CACHE_ENTRY_INFO的结构体指针 注:这个结构体就是包含缓存信息的结构体 特别介绍一下
typedef struct _INTERNET_CACHE_ENTRY_INFO {
DWORD dwStructSize;//结构体大小,常用来帮助决定使用Internet缓存使用的版本
LPTSTR lpszSourceUrlName;//Internet URL地址名 它处在结构体内存分配的最末端
LPTSTR lpszLocalFileName;//Internet缓存的本地文件名
DWORD CacheEntryType;//缓存入口类型 EDITED_CACHE_ENTRY表示缓存入口从网络上下载后已经改变 NORMAL_CACHE_ENTRY表示可以删除释放空间 SPARSE_CACHE_ENTRY表示当前还没有使用的入口 STICKY_CACHE_ENTRY粘贴缓存入口
DWORD dwUseCount;//当前用户使用缓存的次数
DWORD dwHitRate;
DWORD dwSizeLow;//文件大小的低位
DWORD dwSizeHigh;//文件大小的高位
FILETIME LastModifiedTime;//最后一次修改的时间
FILETIME ExpireTime;//入口到期时间
FILETIME LastAccessTime;//最后一次访问的时间
FILETIME LastSyncTime;//最后一次与服务器同步的时间
LPBYTE lpHeaderInfo;//Internet缓存信息头的地址
DWORD dwHeaderInfoSize;//Internet缓存信息头的信息大小
LPTSTR lpszFileExtension;//文件扩展(相当于将信息文件备份)
union {
DWORD dwReserved;//用于保留 必须为0
DWORD dwExemptDelta;豁免时间,跟最后访问时间有关(笔者不太明白)
};
lpdwFirstCacheEntryInfoBufferSize 表示用于保存信息的结构体的缓存大小]
返回值:
如果成功将返回Internet Cache句柄 失败为NULL
备注
这个函数和FindNextUrlCacheEntry函数都返回的是一个大小可变的数据,如果返回的是ERROR_INSUFFICIENT_BUFFER 则应该分配lpdwFirstCacheEntryInfoBufferSize大小的内存空间来保存