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

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

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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
qihoocom 9 2009-6-23 02:11
2
0
object attributes中指定了OBJ_KERNEL_HANDLE的才会返回内核句柄
雪    币: 252
活跃值: (13)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
yaolibing 2009-6-23 07:54
3
0
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啊,果然是这样啊。但是什么时候要这个内核句柄,什么时候不要啊。有什么用啊?
雪    币: 709
活跃值: (2240)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 25 2009-6-23 09:56
4
0
0x8000xxxx
游客
登录 | 注册 方可回帖
返回