如何枚举内核中指定进程的所有打开句柄(Windows)

时间:2012-10-14 16:25:03

标签: c windows kernel handle

我有一个内核驱动程序。如何在内核驱动程序中枚举指定进程的所有打开句柄?我想关闭这些句柄。

谢谢!

2 个答案:

答案 0 :(得分:5)

  

我想关闭这些句柄。

对于它的价值,仅仅因为可以做某事,并不意味着它应该被完成。这是一个坏主意。

也就是说,可以使用信息类SystemHandleInformationZw/NtQuerySystemInformation进行未记录的调用来枚举所有进程的所有句柄。使用这些术语的网络搜索将产生您想要的效果。

答案 1 :(得分:-1)

您是否必须从内核驱动程序执行此操作? 为什么不从用户模式进程/服务中找到句柄,然后在真正需要时将其传递给内核驱动程序?

要枚举用户模式的句柄,请查看以下文章: http://www.codeproject.com/Articles/18975/Listing-Used-Files