首页
社区
课程
招聘
[求助]句柄和内核句柄的疑问
发表于: 2009-6-23 01:11 4777

[求助]句柄和内核句柄的疑问

2009-6-23 01:11
4777
哪位帮帮我啊,谢谢!这是在DriverEntry()函数里面调试时发生的,先前调用ZwOpenKey()函数和ZwOpenFile()返回的句柄是0x414和0x415,我这么想的,因为DriverEntry是在system进程空间执行的,所以它会在system进程句柄表加入一项,并返回句柄0x414。但是在调用IoCreateFile()返回的句柄竟然是0x80000414,我知道它是内核句柄。我这么理解的,内核句柄是在system进程的句柄表的。为什么先前的两个函数的调用返回的句柄和IoCreateFile()函数返回的句柄类型不一样啊?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
2
object attributes中指定了OBJ_KERNEL_HANDLE的才会返回内核句柄
2009-6-23 02:11
0
雪    币: 252
活跃值: (13)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
InitializeObjectAttributes(&oa, &objName, OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE, NULL, NULL);
       
        Status = IoCreateFile(
                &fileHandle,
                0x80,
                &oa,
                &ioStatusBlock,
                NULL,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ,
                FILE_OPEN,
                FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_ALERT,
                NULL,
                0,
                CreateFileTypeNone,
                NULL,
                0 )
谢谢MJ啊,果然是这样啊。但是什么时候要这个内核句柄,什么时候不要啊。有什么用啊?
2009-6-23 07:54
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
4
0x8000xxxx
2009-6-23 09:56
0
游客
登录 | 注册 方可回帖
返回
//