阅读:1533回复:7
wdm能否象在应用程序里一样调用某些API
我有一个想法,在wdm程序中创建一个线程,然后象在WIN32程序中一样调用API打开串口文件,进行一些底层操作。
这样做的目的主要是希望使用非分页内存,避开内存切换带来的延迟。 主要的疑问是: 1、wdm中线程是否放在非分页内存中,并且优先级比WIN32的线程来的高(象vxd中的代码会在调度线程之前执行)。 2、wdm中是否允许调用打开串口文件,设置串口,并执行waitevent等函数。 |
|
最新喜欢:![]() |
沙发#
发布于:2003-01-11 08:59
看 DDK 的帮助,在DDK中有专门的函数,但不是WIN32 API函数
|
|
板凳#
发布于:2003-01-11 11:33
在wdm中调Win32 API?
DDK提供了许多的在内核用的函数。 |
|
地板#
发布于:2003-01-11 16:31
谢谢!如何给分?
|
|
地下室#
发布于:2003-01-11 16:55
在第一贴有个“给分”按钮。 :D
|
|
5楼#
发布于:2003-01-11 20:14
俺觉得:1.在WDM中所编的线程就一定在非分页内存里吗? 好象不一定啊.不过优先级应该高(相比应用线程),毕竟是核心代码.
2.可以 1项不知道对否请各位大侠指教! |
|
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做异步操作。 请大侠们指点一下,在此先谢谢了。 |
|
7楼#
发布于:2003-01-12 20:16
不明白,写出来了,为什么不试一下?
|
|