C++Builder 程序员博客
7 Aug
公司给了道笔试题,是这么说的:
“请写一个小程序,能够检查出所有本机当前打开的所有文件的信息。”
我目前正在尝试使用ZwQuerySystemInformation方法获得所有句柄,然后从中筛选出文件句柄;
然而我得到文件句柄之后,却不知道如何通过句柄访问句柄所指向的文件对象了!
我的问题就在这里,不知道有没有API能够达到“通过句柄访问句柄所指向的文件对象”,我要读取出文件对象的一些基本信息,至少要知道目录和文件名。
谢谢!
学习一下
感谢一楼的回答,可是我查了你给的API,是VISTA才能用的,我想知道有没有XP能用的呢?
typedef struct _BY_HANDLE_FILE_INFORMATION {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD dwVolumeSerialNumber;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD nNumberOfLinks;
DWORD nFileIndexHigh;
DWORD nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION,
*PBY_HANDLE_FILE_INFORMATION;
BOOL WINAPI GetFileInformationByHandle(
__in HANDLE hFile,
__out LPBY_HANDLE_FILE_INFORMATION lpFileInformation
);
学习