qiqi425
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2002-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1610回复:6

要在编好的WDM上层DLL中调用WDM中的函数,如何调!请各位一定赐教!谢谢!

楼主#
更多 发布于:2002-06-04 11:49
我有一个并口虚拟仪器的WDM,我要在其上层的DLL中调用关于读写端口的函数,可以直接写AA(参数)吗?其中的参数应该有一个是句柄(别人说的),那在WDM中又是如何处理含树种个参数的呢?
请各位一定赐教!万分感谢!!
drinkeryj
驱动老牛
驱动老牛
  • 注册日期2001-03-23
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-04 12:55
一般情况下,dll中应该有一个类似open或是load函数,这些函数负责打开驱动程序wdm,返回一个句柄。然后按照函数的要求填写参数就行了。
以后怎么办? [img]http://www.driverdevelop.com/forum/upload/Xman/2004-04-05_2004324183110706.jpg[/img]
qiqi425
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2002-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-04 19:13
我知道用vc调dll中的函数,有一个loadlibrary(),和得到句柄地址的函数,可以调。
但dll调wdm也这样调,那参数是什末?
很急,请赐教
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-05 09:07
首先你的wdm应该被安装,
然后调用createfile来获取设备句柄
然后就可以用这个句柄来操作设备了,
但是要调用wdm中的函数,只能使用readfile,writefile,deviceiocontrol这几个函数
最后用closefile关闭句宾
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
qiqi425
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2002-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-06 08:24
对,我知道你说的这个过程,但我不知道具体的写法,你能大致写几句吗?
多谢!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
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\"看你怎么样用接口了。
dingshine
驱动小牛
驱动小牛
  • 注册日期2002-04-12
  • 最后登录2007-12-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-22 21:52
那在DLL中可以写一个函数如创建线程和事件,等待中断到来触发事件,然后进行处理呢?我试了好象不好使,大侠指点!
驱动,俺不懂,有没有人管啊?
游客

返回顶部