WDF开发PCIE总线驱动时调用DeviceIoControl就蓝屏求解惑
小弟之前在WDM框架下用DriverStudio开发过PCIE总线的驱动,为了在64位的操作系统下能运行办卡改用WDF开发。
目前已经实现了对板卡的DMA读写功能,以前我是用Event方式,当PCIE板卡上数据写满时发送一个中断,驱动捕捉到中断后触发事件,然后应用程序开始DMA读。
用WDF写驱动时候,实现了DMA读,也能捕捉到本地中断,但是遇到一个奇怪的问题。我试图在应用程序中通过DeviceIoControl函数将KEVENT发送到驱动中,从而达到同步的效果。但是驱动中DeviceIoControl函数我无论写什么内容,只要一调用,就会蓝屏。
我将驱动中DeviceIoControl中的代码都删掉,只留下WdfRequestComplete还是蓝屏。是不是因为我的板卡在一直不断发中断,还是IRQL优先级方面的原因,由于一调用就蓝屏,我也没法通过DebugView看信息。
不知道各位大侠有无建议,我现在没什么思路。[/size]