阅读:2121回复:2
是否有降低IRQL的方法?
我用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 驱动爱好者我们可以共同的探讨一些问题,共同进步。 |
|
|
沙发#
发布于:2003-06-20 11:51
ddk下用这个,不知道ds里用什么
VOID KeLowerIrql( IN KIRQL NewIrql ); |
|
|
板凳#
发布于:2004-04-16 09:20
我目前也在做这方面的驱动,不过是PSOS下面的.我想跟linux下面比较相似.有机会可以聊聊.我的EMAIL:tonny_yin@etang.com
管理帧的处理也困扰着我呀. |
|