引用: 引用 1 楼 wangbinds 的回复:
native api 被win32 api调用,之后通过软件中断从应用层进入到内核。我的理解是就像一扇进入内核的门,据说出现的目的是为了保持win32 api 的接口稳定。
服务函数:被native api在内核调用,与native api有相同的名字,属于内核层。
驱动里使用的函数:不懂楼主是要问什么,如果是指的内核api的话,我的理解就是类似win32 api在内核层开放给编程人员的操作系统接口。
引用: 引用 3 楼 wangbinds 的回复:
不是很清楚,暂时理解为:服务函数会调用内核函数实现。比如win32 api中的CreateFile ->ntCreateFile(native api) -> ntCreateFile(服务函数) ->ZwCreateFile(内核api).
引用: 引用 4 楼 jingzhongrong 的回复:
引用 3 楼 wangbinds 的回复:
不是很清楚,暂时理解为:服务函数会调用内核函数实现。比如win32 api中的CreateFile ->ntCreateFile(native api) -> ntCreateFile(服务函数) ->ZwCreateFile(内核api).
后面两个应该是ZwCreateFile->NtCreateFile,反汇编一下就知道。
引用: 引用 6 楼 wangbinds 的回复:
汗!
楼主怎么会这么问?
NtCreateFile有两个,一个被win32 api调用,叫native api。
另一个,按四楼意思是在内核层,被native api中的NtCreateFile调用或者内核 api中的ZwCreateFile调用。叫做服务函数。
ZwCreateFile是内核api。
是不是我表达不清楚?如果是认为我说错了也请指出,我也是刚学,一起进步。