【发布时间】:2011-09-04 14:53:44
【问题描述】:
语言:C
操作系统:Windows
我的应用程序是用 nt 级别的 api 构建的,并且必须操作文件和目录句柄。
在 Zwopenfile 或 zwcreate 文件上,我得到一个 HANDLE 结果。通常HANDLE 的值类似于 0x00000024、28,2c... 等。
当我将其转换为LPBYTE 以查看内容时。 Visual Studio 显示“无法评估表达式”。我了解到从创建/打开文件 api 返回的 HANDLE 不是指向内存位置的指针。但是,windows 使用该值并执行文件操作。
Ntquerydirectory object 为我提供了有关句柄的信息。然而,windows 是如何实现这个功能的还不得而知。
任何人都可以阐明它。
【问题讨论】:
-
根据您提供的值,我敢打赌这是指针表中的字节偏移量。
-
@ikegami 我假设你说的那样。您对指针表有任何规范吗?或与此相关的任何文章。
标签: c windows winapi file handle