在Windows中,谁拥有文件句柄?

4

如何发现哪个进程在使用一个文件的句柄?具体来说,如何以编程方式实现这一点?


鉴于他想知道如何以编程方式实现此操作,因此这涉及编程问题,不应在服务器故障论坛上讨论。 - ChrisW
2个回答

1

可能有一个API可以解决这个问题,但我不确定。如果有的话,它可能是内核中的API。

另一个可能性(抱歉我回答得有点含糊,但我现在回答是因为如果没有其他人发表更好的答案),就是没有(记录的)API,并且执行此操作的程序是通过使用对句柄内容和/或句柄(当作指针处理时)指向的内存的未记录知识来完成的:例如,我找到了进程内核对象句柄表,我记得几年前在Softice手册中读到的是这个(人们说他们已经反向工程了未记录的内存结构)。

寻找更多信息的地方可能是文件系统过滤驱动程序

另一种(也许更好的)方法是使用dependsdumpbin /imports来尝试查看相关Sysinternals程序正在使用哪些API。


-1

Sysinternals 的进程资源管理器可以告诉你这个信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接