首页
社区
课程
招聘
[原创][Windows核心编程]快速清空大文件内容并保持源文件的磁盘数据位置不变
发表于: 2009-9-19 18:21 7349

[原创][Windows核心编程]快速清空大文件内容并保持源文件的磁盘数据位置不变

2009-9-19 18:21
7349
function fun_FastOpenFileClear(const str_param_FilePath:string;
                               const dword_param_Size:DWORD):Boolean ;
var
  handle_File, handle_MapFile : THandle ;

  file_Point : Pointer ;

begin
  Result := False ;

  handle_File := CreateFile(PChar(str_param_FilePath),
                            GENERIC_WRITE or GENERIC_READ,
                            FILE_SHARE_READ,
                            nil,
                            OPEN_EXISTING,
                            FILE_ATTRIBUTE_NORMAL,
                            0) ;
  if handle_File = INVALID_HANDLE_VALUE then
  begin
    Exit ;
  end;

  handle_MapFile := CreateFileMapping(handle_File,
                                     nil,
                                     PAGE_READWRITE,
                                     0,
                                     dword_param_Size,
                                     nil) ;
  if handle_MapFile = 0 then
  begin
    CloseHandle(handle_File) ;
    Exit ;
  end;

  // 映射并清0
  file_Point := MapViewOfFile(handle_MapFile,
                              FILE_MAP_READ or FILE_MAP_WRITE,
                              0,
                              0,
                              0) ;
  ZeroMemory(file_Point, dword_param_Size) ;

  // 释放资源
  UnmapViewOfFile(file_Point) ;
  CloseHandle(handle_MapFile) ;
  CloseHandle(handle_File)    ;

  Result := True ;

end;// End fun_FastOpenFileClear()

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 331
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这么好的帖子怎么没人顶啊,我来坐沙发?
2009-9-19 18:58
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
智商有限  看不懂
2009-9-19 20:02
0
雪    币: 450
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
也许你还没这资格~
如果想出名不该来这地方显...
2009-9-19 21:25
0
雪    币: 445
活跃值: (25)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
楼主太强大,不能学习只能膜拜
2009-9-19 21:46
0
雪    币: 296
活跃值: (89)
能力值: ( LV15,RANK:340 )
在线值:
发帖
回帖
粉丝
6
ZeroMemory
不评价这个代码了,看热闹的继续...
2009-9-19 23:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
其实,老实,诚实的我。
我说,我是来看神仙的,三哥,我要膜拜你。
2009-9-20 00:08
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我是来学习的~
2009-9-20 00:10
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
老大,定上去,不敢沉了
2009-9-20 00:29
0
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
外行看热闹,内行看门道

你内行!!!
2009-9-20 00:37
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
11
猪头三又来娱乐了,再娱乐找你们老大治你 哈哈
2009-9-20 00:57
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
12
建议论坛可以为发帖人增加个IQ点数选项,低于设定值的人就看不到内容,因为看了也白看
2009-9-20 01:14
0
雪    币: 158
活跃值: (263)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
13
说曹操到,就到了。 不行也得行呀。 ^_^ 真实太行了
PS:我一直认为你是老大哦。 绝对老大。中国所有人都让位。呵呵
2009-9-20 01:40
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
14
如果是楼主这样的IQ值明显低于论坛常规IQ而导致大家看不懂的呢
2009-9-20 01:52
0
雪    币: 158
活跃值: (263)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
15
可是偏偏有类似 好像叫什么M什么的,人来看。 你说 这种人IQ 不是更低吗?
好像最近又改名了,叫什么q什么的。

算了,就此结贴。 周末大家放松一下。不用在意。^_^
2009-9-20 01:56
0
游客
登录 | 注册 方可回帖
返回
//