阅读:766回复:3
各位老大,打扰一下!
前些天,我在网上下了一个文件保护器VXD例子,基本摸索透彻了,不过,有一个地方仍不明白:
里面有个:#define HandleToIndex(h) (((h)&0xFFF)>>4) h传入的是[(int)HANDLE]类型变量,其中的HANDLE是用CreateFile()或者FindFirstFile()打开成功的文件句柄。 程序中有这样的代码: struct HT_ITEM { HANDLE handle; int drive; ParsedPath *pName; }; ...... HT_ITEM m_entry[TABLE_LEN];//#define TABLE_LEN 256 ...... 注:该数组封装在自定义的一个类中,该类被为文件查找和文件打开各构造了一个实例对象,即各有一个被分配内存的该数组对象存在。 接下来,每成功打开一个文件后(Open及Find),就将其信息存入相应的数组中,是这样的: int index=HandleToIndex((int)h); m_entry[index].handle=h; m_entry[index].pName=...... 照此看来:文件句柄的(从低位到高位)第5位到第12位这8位存放的是在已打开文件句柄中唯一不重复的(0~255)序号。 不知道事实是不是这样,望各位老大帮忙相关解释一下! Thank you very much!Happy new year!Best wishes for you!!! 祝羊年:发洋财、泡洋妞、住洋房、吉气洋洋!!! |
|
|
沙发#
发布于:2003-01-20 12:36
没有人理我 :(
|
|
|
板凳#
发布于:2003-02-24 10:28
是啊,用来判断重复的IRQ请求。
欢迎访问小弟的网站: http://www.aslike.net |
|
地板#
发布于:2003-02-24 13:01
你的主页我看了,不错
|
|
|