使用哪个API枚举进程所打开的句柄,该怎么处理

使用哪个API枚举进程所打开的句柄 - C++ Builder / Windows SDK/API
各路大虾,小弟有一个问题卡住了,求助啊~
我现在需要写个程序,查看某一个文件夹下面的文件有没有被进程占用(具体效果就像Unlocker那个工具一样,能列举出正在使用U盘文件的进程……)

我的思路如下:
首先枚举系统中的进程信息
之后对于每一个进程枚举它所打开的所有句柄
获得这些句柄的信息,之后查看是不是在相应的路径下(或者满足filter的要求)
显示这些句柄的路径,名字,以及调用他们的进程名字。


小弟对于这些步骤所应该使用的api茫然不知啊,求各位相助~

------解决方案--------------------
探讨
#define ObjectNameInformation 1
#define SystemHandleInformation 0x10 // Information Class 16
#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004……