我知道删除一个文件夹或者文件,可以通过发Irp或者ZwDeleteFile,但对于文件夹来说,只有空文件夹发Irp才可以删除,如果文件夹下有其他文件或者文件夹,发Irp删不掉啊,如何删除文件夹不管是不是空文件夹,有人知道吗?指点一下??
回复(19) 2007-07-19 10:43 来自版块 - 文件系统(过滤)驱动程序开发
表情
devia(2007-07-24 17:19)
znsoft不错,赞一个(2007-07-24 17:16)
tooflat这是我实现的删除目录的代码。欢迎大家指正错误。 NTSTATUS SfDeleteFile( IN PUNICODE_STRING FileName ) { OBJECT_ATTRIBUTES objAttributes; ...(2007-07-24 17:07)
tooflat引用第3楼znsoft于2007-07-19 20:00发表的 : 有一个很简单的办法,作一个扫描列表,可以说是一个队列也行 扫描时,扫描一个目录,把需要扫描的子目录放到这个队列. 每扫完一个目录,就把这个目录从除列去掉或作标志,这样就可以把递归变成线线的了 这方法不错。(2007-07-20 12:33)
devia这个楚狂人最有发言权了,:-)(2007-07-20 09:40)
linuxyf都是牛人进来了,长见识了(2007-07-20 08:46)
znsoft有一个很简单的办法,作一个扫描列表,可以说是一个队列也行 扫描时,扫描一个目录,把需要扫描的子目录放到这个队列. 每扫完一个目录,就把这个目录从除列去掉或作标志,这样就可以把递归变成线线的了(2007-07-19 20:00)
tooflatwowocock能否举个例子说明一下怎么把递归转换成非递归的处理。 我也遇到了这个难题。(2007-07-19 18:55)
wowocock自己枚举删除,考虑到内核栈空间有限,尽量不要用递归,把栈转换成堆处理。(2007-07-19 17:14)

返回顶部