signed int __cdecl sub_475790(_BYTE *a1)
{
signed int result; // eax
DWORD v2; // [esp+10h] [ebp-10h]
HANDLE hEnumHandle; // [esp+14h] [ebp-Ch]
DWORD dwFirstCacheEntryInfoBufferSize; // [esp+18h] [ebp-8h]
LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo; // [esp+1Ch] [ebp-4h] dwFirstCacheEntryInfoBufferSize = ;
lpFirstCacheEntryInfo = (LPINTERNET_CACHE_ENTRY_INFOA)operator new[](0x1000u);
lpFirstCacheEntryInfo->dwStructSize = ;
hEnumHandle = FindFirstUrlCacheEntryA(, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize);
if ( hEnumHandle )
{
if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
goto LABEL_12;
}
if ( GetLastError() != )
{
FindCloseUrlCache();
return ;
}
lpFirstCacheEntryInfo = (LPINTERNET_CACHE_ENTRY_INFOA)operator new[](dwFirstCacheEntryInfoBufferSize);
lpFirstCacheEntryInfo->dwStructSize = dwFirstCacheEntryInfoBufferSize;
hEnumHandle = FindFirstUrlCacheEntryA(, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize);
if ( !hEnumHandle )
return ;
if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
LABEL_12:
while ( FindNextUrlCacheEntryA(hEnumHandle, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize) )
{
if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
LABEL_25:
if ( *a1 )
return ;
}
v2 = GetLastError();
if ( v2 == )
{
lpFirstCacheEntryInfo = (LPINTERNET_CACHE_ENTRY_INFOA)operator new[](dwFirstCacheEntryInfoBufferSize);
lpFirstCacheEntryInfo->dwStructSize = dwFirstCacheEntryInfoBufferSize;
if ( !FindNextUrlCacheEntryA(hEnumHandle, lpFirstCacheEntryInfo, &dwFirstCacheEntryInfoBufferSize) )
{
FindCloseUrlCache(hEnumHandle);
return ;
}
if ( !(lpFirstCacheEntryInfo->CacheEntryType & 0x100000) )
DeleteUrlCacheEntry(lpFirstCacheEntryInfo->lpszSourceUrlName);
goto LABEL_25;
}
if ( v2 == )
{
FindCloseUrlCache(hEnumHandle);
result = ;
}
else
{
FindCloseUrlCache(hEnumHandle);
result = ;
}
return result;
}

IE历史纪录的更多相关文章

  1. Xamarin.Android之转换,呼叫,查看历史纪录

    Xamarin.Android之转换,呼叫,查看历史纪录 E文文章. 功能:能将输入的字母转换成相应的数字.并且能呼叫出去.能查看呼叫的历史纪录. 界面代码如下: <?xml version=& ...

  2. 移动端与pc端如何用localStorage实现历史纪录?

    1.使用jq完成localStorage实现历史纪录版. 代码如下: <!DOCTYPE html> <html> <head lang="en"&g ...

  3. PHP记录商品历史纪录

    /* 记录浏览历史 */ if (!empty($_COOKIE['history'])) { if(stripos($_COOKIE['history'].',',$goods_id.',')=== ...

  4. Cookie案例-显示商品浏览历史纪录

    package cn.itcast.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...

  5. 历史命令:history

    [root@linux ~]# history [n][root@linux ~]# history [-c][root@linux ~]# history [-raw] histfiles参数:n ...

  6. linux下history命令显示历史指令记录的使用方法

    Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...

  7. Linux学习之十二、命令别名与历史命令

    命令别名配置: alias, unalias 那么需要下达『 ls -al | more 』这个命令,我是觉得很烦啦! 要输入好几个单字!那可不可以使用 lm 来简化呢?当然可以,你可以在命令行下面下 ...

  8. linux删除历史操作命令

    有时候在系统中做了任何操作,但不想被别人知道,毕竟系统别人都可以登入查看,那怎么把自己操作系统的历史命令删除而不让别人知晓呢? 在linux系统里一旦操作了任何命令,都会被记录下来,可以通过histo ...

  9. 鸟哥的私房菜:Bash shell(三)-命令别名与历史指令

    一  命令别名设定: alias, unalias 命令别名是一个很有趣的东西,特别是你的惯用指令特别长的时候!还有, 增设预设的属性在一些惯用的指令上面,可以预防一些不小心误杀档案的情况发生的时候! ...

随机推荐

  1. Sass Maps的函数-map-keys($map)

    map-keys($map) 函数将会返回 $map 中的所有 key.这些值赋予给一个变量,那他就是一个列表.如: map-keys($social-colors); 其返回的值为: "d ...

  2. HTML5知识点总结(一)

    最近在复习前端的基础知识,在这里做一个总结,这是HTML5篇. 新特性 取消了过时的显示效果标记<font></font>和<center></center& ...

  3. STM32中stm32f0xx_flash.icf文件的作用详解!(不错的!)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weibo1230123/article/details/80142210 每个芯片开发商都会针对每款 ...

  4. springBoot 连接数据库

    心得:1.先添加依赖. 2.在application.yml文件中创建mybatis的连接,与项目连接起来. 3.application.yml文件中可以自行配置服务器的端口,配置mybatis的路径 ...

  5. 多线程模拟生产者消费者示例之Lock

    public class Test { public static void main(String[] args) { List<String> list = new ArrayList ...

  6. php explode()函数 语法

    php explode()函数 语法 作用:把字符串打散为数组 语法:explode(separator,string,limit)大理石机械构件 参数: 参数 描述 separator 必需.规定在 ...

  7. Python基础教程(017)--执行Python的方式解释器运行及其他几种解释器简介

    前言 了解Python的解释器 内容 Python的解释器乳交有多个语言的实现 cPython---官方版本的C语言实现 Jython--可以运行在java平台 IronPython--可以运行在.n ...

  8. MySQL中truncate误操作后的数据恢复案例

    MySQL中truncate误操作后的数据恢复案例 这篇文章主要介绍了MySQL中truncate误操作后的数据恢复案例,主要是要从日志中定位到truncate操作的地方然后备份之前丢失的数据,需要的 ...

  9. xcode安装pod

    参考了: https://blog.csdn.net/AugustDY/article/details/92078639 输入 ruby -v ,查看当前电脑的ruby版本,如果已经安装了ruby环境 ...

  10. Linux(Ubuntu)常用命令(四)

    权限修改: 先知: u user 表示该文件的所有者 g group 表示与该文件的所有者属于同一组( group )者,即用户组 o other 表示其他以外的人 a all 表示这三者皆是 r r ...