heavelove
驱动牛犊
驱动牛犊
  • 注册日期2002-07-06
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1533回复:7

wdm能否象在应用程序里一样调用某些API

楼主#
更多 发布于:2003-01-10 16:59
我有一个想法,在wdm程序中创建一个线程,然后象在WIN32程序中一样调用API打开串口文件,进行一些底层操作。
这样做的目的主要是希望使用非分页内存,避开内存切换带来的延迟。
主要的疑问是:
1、wdm中线程是否放在非分页内存中,并且优先级比WIN32的线程来的高(象vxd中的代码会在调度线程之前执行)。
2、wdm中是否允许调用打开串口文件,设置串口,并执行waitevent等函数。

最新喜欢:

abc0099abc009...
jinfei
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2012-07-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-11 08:59
看 DDK 的帮助,在DDK中有专门的函数,但不是WIN32 API函数
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-01-11 11:33
在wdm中调Win32 API?
DDK提供了许多的在内核用的函数。
heavelove
驱动牛犊
驱动牛犊
  • 注册日期2002-07-06
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-11 16:31
谢谢!如何给分?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-01-11 16:55
在第一贴有个“给分”按钮。 :D
wwwwwww
驱动牛犊
驱动牛犊
  • 注册日期2003-01-09
  • 最后登录2003-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-11 20:14
俺觉得:1.在WDM中所编的线程就一定在非分页内存里吗? 好象不一定啊.不过优先级应该高(相比应用线程),毕竟是核心代码.
       2.可以
      1项不知道对否请各位大侠指教!
heavelove
驱动牛犊
驱动牛犊
  • 注册日期2002-07-06
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-12 13:42
1。wdm的线程确实不一定会在非分页内存,但是只要我需要,就可以做到。
2。我对wdm内核应用不熟,不过我目前看来,要在内核里操作com口,需要以下几个步骤:
1)打开com口,相当与WIN32下的createfile,是否可以用IoCreateFile代替。我需要用异步方式操作。
2)调用IoGetDeviceObjectPointer取得设备对象,这一不是否与上一步功能重复?IoGetDeviceObjectPointer的参数PUNICODESTRING是设备名称,对com1口应该是什么?是否//device//com1?
3)调用IoCallDriver操作com口。
4)调用KeWaitEvent做异步操作。
请大侠们指点一下,在此先谢谢了。
yyhabc
驱动小牛
驱动小牛
  • 注册日期2003-01-06
  • 最后登录2013-03-18
  • 粉丝0
  • 关注0
  • 积分327分
  • 威望47点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-01-12 20:16
不明白,写出来了,为什么不试一下?
游客

返回顶部