ste*_*far 7 c# winapi file worker-processes
我想知道是否可以枚举c#中的文件句柄,也许使用Win32API.这对于窗口和进程句柄很容易实现,但似乎文件句柄不可能.
虽然NtQuerySystemInformation提供了一些功能,但这已被逐步淘汰,因此不建议使用这种方法.
好吧,你知道它是可能的,SysInternals的Handle实用程序可以做到这一点.NtQueryInformation不会被逐步淘汰,它是Win32和"真正的"操作系统之间必不可少的低级接口.
然而,永远不会发生的是,将记录允许迭代句柄的NtQueryInformation参数.因为它不会就此停止,所以一些muppet将使用它来调用他/她不想被锁定的文件上的CloseHandle().这是破坏硬盘内容的一种非常好的方法.
拥有句柄的进程不知道句柄是否已关闭.它将继续写入它,可能完全忽略WriteFile()中的"它没有工作"返回代码.在程序打开另一个句柄之前,这是无害的,获得与先前关闭的值相同的值.现在它开始将垃圾(用于前一个句柄)和新数据混合到句柄中.彻底摧毁它所写内容的内容.如果它像任务关键型数据库那样,请调整备份磁带.
归档时间: |
|
查看次数: |
4244 次 |
最近记录: |