swf2003
驱动中牛
驱动中牛
  • 注册日期2003-02-13
  • 最后登录2011-10-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
阅读:1686回复:8

kernel DLL 的使用

楼主#
更多 发布于:2004-12-15 12:16
内核的DLL 能不能被用户程序直接调用? 其实 内核DLL 就是一个动态连接库,系统里的好多功能也是用内核个DLL实现的 比如 stream.sys 等等。我想应该可以,但没有试过。
你的认可是对我最大的鼓励!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-15 13:08
内核的DLL 能不能被用户程序直接调用? 其实 内核DLL 就是一个动态连接库,系统里的好多功能也是用内核个DLL实现的 比如 stream.sys 等等。我想应该可以,但没有试过。
 


请查看DDK文档,
个人认为如果IRQL允许,应该可以调用的
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-15 13:42
应该不行吧,内核dll只有DriverEntry,没有DllMain
期待高人指点
lovedriver
驱动牛犊
驱动牛犊
  • 注册日期2004-11-01
  • 最后登录2005-01-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-15 13:51
特权级
热爱驱动
linhf
驱动牛犊
驱动牛犊
  • 注册日期2003-03-25
  • 最后登录2006-06-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-15 19:41
应该不行吧
swf2003
驱动中牛
驱动中牛
  • 注册日期2003-02-13
  • 最后登录2011-10-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-20 09:57
不管怎样,谢谢大家的讨论!
你的认可是对我最大的鼓励!
wollok
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2012-07-18
  • 粉丝0
  • 关注0
  • 积分571分
  • 威望335点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-26 00:08
其实内核dll只有DriverEntry,没有DllMain是没有关系的.难道你在哪个程序中看到导出了这两个函数?没有!!其实从汇编的角度来看,其实这两个函数就是一样的.只是这里系统给我们提供的参数是不一样的.因为这两个的调用模式就不一样!!其实驱动也是可以直接被应用程序调用的.某天我就看到一个牛人用一个函数来直接加载驱动的!
kernel_kernel
驱动小牛
驱动小牛
  • 注册日期2002-12-08
  • 最后登录2009-02-06
  • 粉丝0
  • 关注0
  • 积分435分
  • 威望51点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-26 18:07
其实内核dll只有DriverEntry,没有DllMain是没有关系的.难道你在哪个程序中看到导出了这两个函数?没有!!其实从汇编的角度来看,其实这两个函数就是一样的.只是这里系统给我们提供的参数是不一样的.因为这两个的调用模式就不一样!!其实驱动也是可以直接被应用程序调用的.某天我就看到一个牛人用一个函数来直接加载驱动的!


puke.
搞清楚特权级再回也不迟.

至于一个函数加载驱动网上你可以搜出一陀文章,与直接调用完全无关 :D
Leonsoft
驱动小牛
驱动小牛
  • 注册日期2003-05-08
  • 最后登录2012-08-11
  • 粉丝1
  • 关注0
  • 积分21分
  • 威望281点
  • 贡献值1点
  • 好评度103点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-28 17:59
这和DLL中的DllMain没有关系,即使编写一个user mode下的DLL,只是导出几个routines的话,也可以不用DllMain。
在Kenel mode, loading driver 由Kernel来完成,driver应该是run 在kernel mode进程空间里。
如果只是通过一个所谓的运行在kernel mode来访问device,不怎么可能吧。除非这个DLL有NTDLL.dll的特权。嘿嘿。
I will do the best with what the God gave me.
游客

返回顶部