dong-sheqin1979
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2002-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1687回复:5

如何使用VC++调用VXD或WDM程序?

楼主#
更多 发布于:2002-06-24 10:02
各位大虾:
    我好久没上来了,感谢DD送给我200CENT,最近在忙于写一段驱动程序但不知到应用程序如何调用他们?哪位能指点一下迷津?
dongsheqin
hnwty
驱动牛犊
驱动牛犊
  • 注册日期2002-06-26
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-06-27 11:50
wdm我不熟,vxd还可以说两句。你的驱动程序中肯定应该有与应用程序的接口部分呀!在vxd中DEVICEIOCONTROL函数就可以了。
fangrui
驱动牛犊
驱动牛犊
  • 注册日期2002-07-09
  • 最后登录2002-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-13 18:29
可以用CreateFile()来调用,这是一个API函数,按格式调用就行了
aiherong
驱动牛犊
驱动牛犊
  • 注册日期2002-06-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-15 09:34
说是容易,做是难啊!
如果采用符号连接,CreateFile()的第一个参数不好定啊!
如果采用全局描述,SetupDiXXXX函数难通过啊!……

前途是光明的,道路是曲折的。
wangjue
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2006-01-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-15 09:40
VxD调用方法如下:
1 先创建
    HANDLE hDevice = createFile(\"\\\\\\\\.\\\\xxx.vxd\",0,0,0,OPEN_ALWAYS,FILE_FLAG_DELETE_ON_CLOSE,0);xxx.vxd是驱动程序名字。
2 然后用
    PVOID inbuf[10];
    WORD retInfo[10];
    DWORD cbBytesReturned;
    DeviceIoControl(hDevice,GET_VERSION,inbuf,sizeof(PVOID),retInfo,sizeof(retInfo),&cbBytesReturned,NULL);
    GET_VERSION是定义的操作,这里是取版本号。
aiherong
驱动牛犊
驱动牛犊
  • 注册日期2002-06-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-15 10:46
VxD调用方法如下:
1 先创建
    HANDLE hDevice = createFile(\"\\\\\\\\.\\\\xxx.vxd\",0,0,0,OPEN_ALWAYS,FILE_FLAG_DELETE_ON_CLOSE,0);xxx.vxd是驱动程序名字。
2 然后用
    PVOID inbuf[10];
    WORD retInfo[10];
    DWORD cbBytesReturned;
    DeviceIoControl(hDevice,GET_VERSION,inbuf,sizeof(PVOID),retInfo,sizeof(retInfo),&cbBytesReturned,NULL);
    GET_VERSION是定义的操作,这里是取版本号。


在驱动程序中,“xxx.vxd”是怎样具体确定的?我怎么连接不成功
游客

返回顶部