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

是否有降低IRQL的方法?

楼主#
更多 发布于:2003-06-20 00:19
我用DS2.7开发usb nic时碰到的问题:因为我是开发usb 的wlan 网卡,由于我需要处理网卡硬件相关的管理帧,这些管理帧是不需要上报给NDIS的。我在CompletionRxRoutine函数中收到这些帧后,我需要发送相应的帧给usb nic。我使用了KusbPipe.Submit(),但是这个函数的参数PIO_COMPLETION_ROUTINE = NULL时(我希望这些管理帧不要和DS的框架产生关系,所以设成了NULL,具体的例子可以看DS2.7带的USBNIC的例程),只能运行在PASSIVE_LEVEL下。但是CompletionRxRoutine函数时运行在DISPATCH_LEVEL下。我希望可以通过两种方法解决:
1、可以降低IRQL到PASSIVE_LEVEL
2、是否可以实现同liunx的下半部函数,或者时队列的方法。使得我的Submit可以在另外一个运行在PASSIVE_LEVEL的函数上延时调用?
因为我原来时做linux驱动的,所以对windows的驱动框架不是很熟悉。不知道那位高人可以给我一些指点?
我的联系方法:MSN:cn_zhaolin@hotmail.com
QQ:171413130
驱动爱好者我们可以共同的探讨一些问题,共同进步。
xiaolin
danielxu22
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2014-03-24
  • 粉丝0
  • 关注1
  • 积分2分
  • 威望18点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-20 11:51
ddk下用这个,不知道ds里用什么
VOID
  KeLowerIrql(
    IN KIRQL  NewIrql
    );
今天我发现我家的金鱼淹死了,:(
tonny_yin
驱动牛犊
驱动牛犊
  • 注册日期2004-04-16
  • 最后登录2004-06-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-16 09:20
我目前也在做这方面的驱动,不过是PSOS下面的.我想跟linux下面比较相似.有机会可以聊聊.我的EMAIL:tonny_yin@etang.com

管理帧的处理也困扰着我呀.
游客

返回顶部