如何清空内存缓冲区中的内容?

最近我正在做一个给一个逻辑盘加密的软件,运行解密文件之前在加了密的逻辑盘里看到的只是一些乱码文件夹,(因为该盘的FAT和FDT已经加了密),但是如果解了密之后,再次访问该盘里看到的还是以前那些乱码文件夹!可能windows在启动过程中,已经访问过加了密的逻辑盘,就把加了密的逻辑盘的信息存放到内存缓冲区中,所以就算是运行了解密程序后,FAT和FDT表正确恢复,再次访问该盘时其实是访问具有未解密前错误的逻辑盘信息的内存缓冲区,看到的还是乱码文件夹。后来我试过运行一个大程序, 把内存缓冲区的内容全部冲掉,之后再去访问解了密的逻辑盘,看到的已经不是乱码文件夹,而是正常的文件夹了!我的问题是:怎样把内存缓冲区中的那段错误的逻辑盘信息清掉,或者把整个内存缓冲区都清空??

请各位大虾帮忙解答!
[355 byte] By [hbb1981-hbb] at [2008-5-21]
# 1
mov ax,0
rep stosw
Areslee-懒虫易水 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 2
回“Areslee(易水)”:
首先请问一下那两句汇编是什么意思??
我做硬盘加密用的工具是“VtoolsD + vc++6.0”,请问C++中有没有实现类似功能的函数??这两句汇编在vc中用行内汇编写行不行??
hbb1981-hbb at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 3
关注一下。
好像操作系统访问文件是先调用一个FAST I/O例程,如果它返回TRUE时说明缓冲区里有它需要的内容,返回FALSE时就调用标准的IRP请求。但有关FAST I/O的问题我还没弄懂,盼望哪位大虾来说说吧。
清空存放了FDT数据的缓冲区的办法,我现在时第一次听,有这样的办法吗???
dszsun-一片清风 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 4
memset()
Areslee-懒虫易水 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 5
memset()
fflush( stdin );
fflush( stdout );
JennyVenus at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 6
多谢楼上两位的回答!
但是由于我接触系统底层编程的时间还不到一个月!所以对上面的memset()和fflush()不是很明白,两位是否可以对这两个函数进一步详细说明吗?
hbb1981-hbb at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 7
memset(buf,value,size)
Areslee-懒虫易水 at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...
# 8
那究竟那个buf的指针和size怎样确定???可以通过什么办法找到那两个参数?
hbb1981-hbb at 2007-10-21 > top of Msdn China Tech,其他开发语言,汇编语言...