joealec
驱动牛犊
驱动牛犊
  • 注册日期2005-06-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1653回复:3

passthru驱动得到的内存如何返回给应用程序??

楼主#
更多 发布于:2005-07-31 18:32
  我把passthru改了一下

就是定义了两个IRP  一个驱动无线网卡发OID_802_11_BSSID_LIST_SCAN 扫描周围的无线AP信号
一个发OID_802_11_BSSID_LIST 把扫描后驻留在网卡内存上的AP列表 取出来

现在在debugView下 已经能看到AP的列表

但是我的应用程序 只是发了两个IRP给驱动 并没有返回任何结果

现在我想把驱动得到的内存 拷贝到应用程序
由应用程序来 显示最后的AP列表和 无线信号信息

不知道怎么做这部分 ,请问斑竹 和达人们有什么建议么?
joealec
驱动牛犊
驱动牛犊
  • 注册日期2005-06-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-31 22:04
驱动得到的内存 有一个起始指针 以及说明这片内存大小的一个值
请问 怎么把这片内存 传给应用程序啊?
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-08-01 09:06
通过DeviceIoControl,应用程序提供OutputBuffer, 就可以从驱动程序中获得数据,缓存方式有METHOD_BUFFERED,METHOD_OUT_DIRECT等四种,一般用METHOD_BUFFERD就可以了。
可以看一下ndisuio的例子,就有类似的代码。
joealec
驱动牛犊
驱动牛犊
  • 注册日期2005-06-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-08-01 09:56
哦,多谢斑竹 。
我再试试
游客

返回顶部