cuittx2008
驱动牛犊
驱动牛犊
  • 注册日期2008-12-02
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1627回复:2

问:驱动层创建事件蓝屏

楼主#
更多 发布于:2009-03-06 11:40
..........  
Status = NdisMRegisterDevice(
                    NdisWrapperHandle,
                    &DeviceName,
                    &DeviceLinkUnicodeString,
                    &DispatchTable[0],
                    &ControlDeviceObject,//设备对象
                    &NdisDeviceHandle
                    );

        NdisAcquireSpinLock(&GlobalLock);

        ControlDeviceState = PS_DEVICE_STATE_READY;
    }
    
    NdisReleaseSpinLock(&GlobalLock);
//begin
    pDevEvent =(PKEVENT) ControlDeviceObject->DeviceExtension;
    pDevEvent = IoCreateNotificationEvent(&uszProcessEventString, &sHandle);
    // 设置它为非受信状态
    KeClearEvent(pDevExt->ProcessEvent);
//end

以上//begin和//end之间是加入的代码。但驱动一装上后就蓝屏了,代码大概是说IRQL不同。
我的目的是在驱动层创一等待事件,在应用层OpenEvent,并WaitForSingleObject,从而实现驱动层与应用层之间的通信。
请问蓝屏问题如何解决?
我看网上有说在应用层创建事件的,请问有相关的代码吗?谢谢!
cross_sky
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2012-09-07
  • 粉丝0
  • 关注0
  • 积分858分
  • 威望727点
  • 贡献值0点
  • 好评度77点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-03-09 22:22
可以应用创建时间传给驱动,至于蓝屏你看看你加的代码是在什么IRQL环境运行,那几个函数对IRQL有什么要求,看和运行环境的IRQL是不是符合
sky
chengfangquan
驱动牛犊
驱动牛犊
  • 注册日期2007-08-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望361点
  • 贡献值1点
  • 好评度42点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-04-03 12:28
你用WinDbg看一下蓝屏的原因把,
游客

返回顶部