阅读:1610回复:6
要在编好的WDM上层DLL中调用WDM中的函数,如何调!请各位一定赐教!谢谢!
我有一个并口虚拟仪器的WDM,我要在其上层的DLL中调用关于读写端口的函数,可以直接写AA(参数)吗?其中的参数应该有一个是句柄(别人说的),那在WDM中又是如何处理含树种个参数的呢?
请各位一定赐教!万分感谢!! |
|
沙发#
发布于:2002-06-04 12:55
一般情况下,dll中应该有一个类似open或是load函数,这些函数负责打开驱动程序wdm,返回一个句柄。然后按照函数的要求填写参数就行了。
|
|
|
板凳#
发布于:2002-06-04 19:13
我知道用vc调dll中的函数,有一个loadlibrary(),和得到句柄地址的函数,可以调。
但dll调wdm也这样调,那参数是什末? 很急,请赐教 |
|
地板#
发布于:2002-06-05 09:07
首先你的wdm应该被安装,
然后调用createfile来获取设备句柄 然后就可以用这个句柄来操作设备了, 但是要调用wdm中的函数,只能使用readfile,writefile,deviceiocontrol这几个函数 最后用closefile关闭句宾 |
|
|
地下室#
发布于:2002-06-06 08:24
对,我知道你说的这个过程,但我不知道具体的写法,你能大致写几句吗?
多谢! |
|
5楼#
发布于:2002-06-06 09:01
HANDLE hDevice = CreateFile(\"\\\\\\\\.\\\\youdriver.sys\",...);
if(hDevice == INVALID_HANDLE) { // error } if(!DeviceIoControl(hDevice, your_IO_Code, inBuffer, sizeof inBuffer, outBuffer, sizeof outBuffer, ...)) { // error } CloseHandle(hDevice); 其中\"\\\\\\\\.\\\\youdriver.sys\"看你怎么样用接口了。 |
|
6楼#
发布于:2002-06-22 21:52
那在DLL中可以写一个函数如创建线程和事件,等待中断到来触发事件,然后进行处理呢?我试了好象不好使,大侠指点!
|
|
|