qsc66886688
驱动牛犊
驱动牛犊
  • 注册日期2007-07-02
  • 最后登录2008-06-06
  • 粉丝0
  • 关注0
  • 积分320分
  • 威望43点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
阅读:1829回复:2

这样的问题不知道各位大虾见过吗?

楼主#
更多 发布于:2007-09-26 23:04
安装了一个ddk自带的passthru程序,我在它的miniport.c的发射函数中将数据包的内容存放到我自己分配的内存中,然后将内存中的内容送给我的应用程序。以下是送往应用程序的代码
extern LONG        KeReadStateEvent(IN PRKEVENT Event);
extern PVOID    gpEventObject;            // 与应用通信的事件对象
extern PVOID    SystemVirtualAddress;    // 共享内存地址

VOID My_Send(char *pPacket)
{

  if(!KeReadStateEvent(gpEventObject))
    {
    // 复制数据到共享内存
    memset(SystemVirtualAddress, 0, 2000);
    memcpy(SystemVirtualAddress, pPacket, 2000);
    KeSetEvent(gpEventObject, 0, FALSE);
    }
  else{}    
  return ;
}
但是将这个中间层驱动装上之后,在任务栏中就会提示安装了硬件,并显示miniport driver#2 miniport driver#3 然后就出现对话框,我就让他自动安装miniportdriver,装到一定程度就蓝屏。重启之后还是这样,但是可以取消安装,但在任务栏会提示安装的硬件可能不能使用。
望 各位大虾指点?
qsc66886688
驱动牛犊
驱动牛犊
  • 注册日期2007-07-02
  • 最后登录2008-06-06
  • 粉丝0
  • 关注0
  • 积分320分
  • 威望43点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-27 10:16
是不是KeReadStateEvent(有什么特殊要求阿
vipfengxiao
驱动牛犊
驱动牛犊
  • 注册日期2009-12-29
  • 最后登录2011-12-21
  • 粉丝1
  • 关注0
  • 积分79分
  • 威望681点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-04-10 11:29
我也碰到同样的问题还没解决
游客

返回顶部