4909|10

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

概念问题(native api,服务函数,驱动里使用的函数) [复制链接]

rt,是什么区别?

最新回复

native api 没有相应的文档可以查询,但为整体框架的一部分,我们编写驱动的人应该了解WIN32API调用呢底层的Native api , native api是从用户模式进入内核模式的大门,他通过软件中断方式进入到内核模式,并调用内核的系统; 微软不鼓励程序员直接使用native api,而是鼓励程序员使用固定那个的接口WIN32 API,。这个是因为native api在各个版本的windows'中会有所不同,然而从效率考虑,程序员可以根据自己的需要,在必要的时候直接调用NATIVE API  详情 回复 发表于 2010-2-15 14:27
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
native api 被win32 api调用,之后通过软件中断从应用层进入到内核。我的理解是就像一扇进入内核的门,据说出现的目的是为了保持win32 api 的接口稳定。
服务函数:被native api在内核调用,与native api有相同的名字,属于内核层。
驱动里使用的函数:不懂楼主是要问什么,如果是指的内核api的话,我的理解就是类似win32 api在内核层开放给编程人员的操作系统接口。
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 wangbinds 的回复:
native api 被win32 api调用,之后通过软件中断从应用层进入到内核。我的理解是就像一扇进入内核的门,据说出现的目的是为了保持win32 api 的接口稳定。
服务函数:被native api在内核调用,与native api有相同的名字,属于内核层。
驱动里使用的函数:不懂楼主是要问什么,如果是指的内核api的话,我的理解就是类似win32 api在内核层开放给编程人员的操作系统接口。

前面和我目前认知是相同的。
最后一点补充就是:内核函数(内核api?)和服务函数有什么关系。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
不是很清楚,暂时理解为:服务函数会调用内核函数实现。比如win32 api中的CreateFile ->ntCreateFile(native api) -> ntCreateFile(服务函数) ->ZwCreateFile(内核api).
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 wangbinds 的回复:
不是很清楚,暂时理解为:服务函数会调用内核函数实现。比如win32 api中的CreateFile ->ntCreateFile(native api) -> ntCreateFile(服务函数) ->ZwCreateFile(内核api).


后面两个应该是ZwCreateFile->NtCreateFile,反汇编一下就知道。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 jingzhongrong 的回复:
引用 3 楼 wangbinds 的回复:
不是很清楚,暂时理解为:服务函数会调用内核函数实现。比如win32 api中的CreateFile ->ntCreateFile(native api) -> ntCreateFile(服务函数) ->ZwCreateFile(内核api).


后面两个应该是ZwCreateFile->NtCreateFile,反汇编一下就知道。

你意思是 NtCreateFile是内核api?
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

7
 
汗!
楼主怎么会这么问?
NtCreateFile有两个,一个被win32 api调用,叫native api。
另一个,按四楼意思是在内核层,被native api中的NtCreateFile调用或者内核 api中的ZwCreateFile调用。叫做服务函数。
ZwCreateFile是内核api。
是不是我表达不清楚?如果是认为我说错了也请指出,我也是刚学,一起进步。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 wangbinds 的回复:
汗!
楼主怎么会这么问?
NtCreateFile有两个,一个被win32 api调用,叫native api。
另一个,按四楼意思是在内核层,被native api中的NtCreateFile调用或者内核 api中的ZwCreateFile调用。叫做服务函数。
ZwCreateFile是内核api。
是不是我表达不清楚?如果是认为我说错了也请指出,我也是刚学,一起进步。

你是说服务函数也是被内核函数调用的?
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

9
 
好像是吧,不太清楚。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
Mark
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
native api 没有相应的文档可以查询,但为整体框架的一部分,我们编写驱动的人应该了解WIN32API调用呢底层的Native api , native api是从用户模式进入内核模式的大门,他通过软件中断方式进入到内核模式,并调用内核的系统;
微软不鼓励程序员直接使用native api,而是鼓励程序员使用固定那个的接口WIN32 API,。这个是因为native api在各个版本的windows'中会有所不同,然而从效率考虑,程序员可以根据自己的需要,在必要的时候直接调用NATIVE API
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表