dmpig
驱动牛犊
驱动牛犊
  • 注册日期2009-09-02
  • 最后登录2011-01-30
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1611回复:1

TDI 网络信息接收 回调函数 蓝屏

楼主#
更多 发布于:2010-12-08 10:17
NTSTATUS TdiExample_ClientEventReceive(PVOID TdiEventContext, CONNECTION_CONTEXT ConnectionContext, ULONG ReceiveFlags, ULONG BytesIndicated, ULONG BytesAvailable, ULONG *BytesTaken, PVOID Tsdu, PIRP *IoRequestPacket)
{
PKEVENT kEvent_NetRecv_Temp=(PKEVENT)TdiEventContext;
*BytesTaken = BytesAvailable;

if (Tsdu!=NULL)
{
// 将网络数据拷贝到 theApp.lpBuf (char * 类型)
RtlCopyMemory(&theApp.lpBuf,Tsdu,BytesAvailable);
// 设置事件,以便工作者线程处理 theApp.lpBuf 新的网络消息
KeSetEvent(&kEvent_NetRecv_Temp,NULL
,FALSE);
}
else
{
KdPrint(("TDI 事件通知函数,网络信息接收失败 %d \n",BytesAvailable));
}
*IoRequestPacket = NULL;
return STATUS_SUCCESS;
}

每次执行到这边的时候,总是蓝屏
DDK说keSetEvent函数对IRQL有要求,如果在这个回调函数里面不能使用
请问各位大虾,还有没有其他可替代的方法
dmpig
驱动牛犊
驱动牛犊
  • 注册日期2009-09-02
  • 最后登录2011-01-30
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-12-08 10:17
各位大虾,帮帮忙了
游客

返回顶部