sunxingwen
驱动牛犊
驱动牛犊
  • 注册日期2006-10-30
  • 最后登录2012-02-29
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望102点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:3880回复:5

有没有开发过 NDIS 6.0 Filter 驱动的同行 商讨请教个问题?

楼主#
更多 发布于:2008-11-15 19:35
目前有一个困惑, 在NDIS 6.0 Filter 中:
在 NDIS 5.1 PASSTHRU中间层驱动中,可通过 PtBindAdapter函数中的DeviceName,来作为符号链接名创建WDM接口,而DeviceName是与下面的不同微端口网卡相匹配的,也就是说,应用程序可向固定的微端口网卡收发数据;

而在NDIS 6.0 Filter 中,好像没有提供类似的与底层微端口网卡绑定的功能,例如,只是用 FilterAttach函数提供的NdisFilterHandle来,作为 NdisFOidRequest函数的一个参数来向下发送OID请求,而NdisFilterHandle 只能来识别不同的filter module

由此请问:应用程序怎么能知道向固定的某个网卡发送OID请求?还是不需要知道?
请经验人士解惑,谢谢。
Chequer
驱动牛犊
驱动牛犊
  • 注册日期2008-10-07
  • 最后登录2011-08-26
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望144点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-11-19 10:28
你对filter driver的理解有些偏差。
1. filter driver不同于intermediate driver,它并不承担NDIS binding这样的动作;
2. 如果某个miniport interface被绑定到多个protocol interface(这是通常的情况),filter driver是同样的,并不是每个protocol interface都有一份独立的fitler module;
3. filter module可以那个某个miniport interface的OID来处理,因为他们是和miniport interface在同一层级的;

下面是一些文字,来自于WDK:

If more than one protocol driver binds to an miniport adapter, the filter modules are the same for both protocol drivers. Based upon the binding, NDIS routes requests to the correct protocol driver.

Because filter drivers do not implement virtual miniports like an intermediate driver, filter drivers are not associated with a device object. A miniport adapter with overlying filter modules functions as a modified version of the miniport adapter.
sunxingwen
驱动牛犊
驱动牛犊
  • 注册日期2006-10-30
  • 最后登录2012-02-29
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望102点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-12-24 16:31
谢谢楼上的回复,但我还是不大明白。

现在调试代码遇到问题:例如,下发 发起扫描命令的 OID_DOT11_SCAN_REQUEST 请求,或者设置 BSS类型的 OID_DOT11_DESIRED_BSS_TYPE 请求,经由 本 FILTER 驱动 到 无线网卡的微端口驱动中,总是,返回 NDIS_STATUS_INVALID_OID 的 错误状态,请问不知什么原因?
thanfur
驱动牛犊
驱动牛犊
  • 注册日期2007-10-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望268点
  • 贡献值0点
  • 好评度39点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-06-24 17:40
看来你遇到了和我一样的问题。因为微软自己有个强制安装的filter dirver叫Microsoft Native Wi-Fi
filter ,它在你写的filter之下。其实你的filter只是和Microsoft Native Wi-Fi
filter 通信,并没有真正绑定到微端口上。不幸的是,为了安全性,Microsoft Native Wi-Fi
filter 将你的OID_DOT11_SCAN_REQUEST ,OID_DOT11_DESIRED_BSS_TYPE 过滤掉了(直接返回 NDIS_STATUS_INVALID_OID )
你现在问题解决没有?
gbysong
论坛版主
论坛版主
  • 注册日期2007-08-10
  • 最后登录2010-12-25
  • 粉丝0
  • 关注0
  • 积分155分
  • 威望602点
  • 贡献值1点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-09-11 21:32
靠,全是跨年的问题,也有人回答。
呵呵
WHQL认证流程,DTM测试细节提供免费咨询,代理服务 请访问:www.wvlab.com
zzzwwwqsqs
驱动牛犊
驱动牛犊
  • 注册日期2010-04-30
  • 最后登录2010-05-21
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望31点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-05-13 10:04
回 3楼(thanfur) 的帖子
那有没有办法挠过 “Microsoft Native Wi-Fi”这个fiter?
游客

返回顶部