阅读:1184回复:3
驱动程序测试时候的问题
我的应用程序是这样,故意让系统产生10个Irp
for(int i=1;i<=10;i++) DeviceIoControl(DEVC,.....); 驱动程序,我故意在处理DEVC控制码的时候,用了个大循环 来延时。 switch(ioctlcodea) case DEVC: for (long i=0;i<10000000;i++) DbgPrint(\"Debug\"\\n); 但为什么驱动还可以很正常的处理每个irp,我的驱动程序没有 什么StartIo的排队例程啊?这里我很疑惑,难道说是在io管理 器来对不能及时处理的irp进行排队吗? |
|
沙发#
发布于:2005-04-06 23:58
for (long i=0;i<10000000;i++) 这时间不长 ! |
|
板凳#
发布于:2005-04-07 02:37
[quote]for (long i=0;i<10000000;i++) 这时间不长 ! [/quote] for (i=0;i<10000000;i++) { for (j=0;j<10000000;j++); } 改成这样还是老样子,看来不是时间长短的问题了! |
|
地板#
发布于:2005-04-07 09:15
当然可以正常处理。
如果你使用了StartIo,反而会可能延迟irp的处理。 |
|
|