版块
论坛
喜欢
话题
应用
搜索
登录
注册
joshua_yu的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=95685
请问-windows系统服务号在什么地方定义的?
我想了解一下windows提供的服务都是那些函数在实际执行任务的?例如:NtCreateFile就是一个系统服务,操作系统应该是根据一个中断号来确定应该调用哪个函数提供服务,不知道对不对?
回复
(
7
)
2004-12-13 14:49
来自版块 -
windows 源码解读
◆
◆
表情
告诉我的粉丝
提 交
bmyyyud
:
哈哈,问题没解决吗?只有反汇编才知道的,各个操作系统版本不一样顺序还不同,比如NtReadFile在KeSystemDescriptorTable中的服务号为0xA1,没有公开的方法获得
(2005-02-07 11:59)
回复
paladinii
:
good
(2005-02-05 17:45)
回复
Shentu
:
不错不错!赞一个!!
(2004-12-17 19:34)
回复
joshua_yu
:
我现在已经基本搞清楚这个过程了: 例如readfile吧,实际上在kernel32.dll中定义,调用了更底层的ntdll.dll的NtReadFile,这个函数只是一个接口,通过INT 2E中断切入内核模式,由中断调度函数KiSystemService根据NtReadFi...
(2004-12-17 10:51)
回复
Shentu
:
win98下是这样的,不知道win2k以后的是怎么做的,应该没有这么简单..
(2004-12-16 15:25)
回复
joshua_yu
:
兄弟最近才学,对这部分很是生疏。 如果用户执行系统调用需要内核提供的相关功能,比如说创建一个文件,则需要利用INT 2E中断进入内核模式,而这个中断对应一个中断服务程序。在这个程序当中,会根据用户请求的具体服务(对应一个服务号)调用相关的服务函数。 不知道上述的流程对不对...
(2004-12-13 15:12)
回复
lovedriver
:
反了。应该是系统函数调用中断。 中间有好几层封装。
(2004-12-13 14:58)
回复
joshua_yu
加关注
写私信
0
关注
0
粉丝
231
帖子
返回顶部