clwfe
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2003-11-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1163回复:4

请帮忙看一下是什么问题!

楼主#
更多 发布于:2003-10-23 17:05
我是初学者,编了一个filter-hook的驱动,遇到一个问题,请高人帮忙!

我在应用程序里用DeviceIoControl控制驱动,但执行到该语句时,系统就自动重启,请问为什么?下面给出代码片段:
................

USHORT inbuf=0;
.................
//就是下面这语句引起重启
DeviceIoControl(hdev,IO_ADDPORT,&inbuf,sizeof(inbuf),0,0,&dwres,0);
//hdev已经在别的地方创建成功
//我也用VirtualAllocEx函数分配内存,但也是会出现这个问题
//inbuf变量换成别的类型也是这样,换成数组也是这样!
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
沙发#
发布于:2003-10-23 17:19
问题应该在驱动里面,贴出来看看。
clwfe
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2003-11-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-25 10:20
//下面为驱动里相应的信号处理代码:


case IO_GETADD:
try
{
DbgPrint(\"1\");//
pUserVirAdd=MmMapLockedPages(Mdl,UserMode);
  DbgPrint(\"3\");//
add=(USHORT)pUserVirAdd;
memcpy(irp->AssociatedIrp.SystemBuffer,&add,sizeof(USHORT));
               if(pUserVirAdd==0)
{
DbgPrint(\"2\");//
st=(!STATUS_SUCCESS);
break;
}
irp->IoStatus.Status=STATUS_SUCCESS;
irp->IoStatus.Information=sizeof(PVOID);
}
except(EXCEPTION_EXECUTE_HANDLER)
{
}
break;

//下面是应用程序控制的程序片段
BOOL bFound=FALSE;
DWORD res=0;
DWORD dwres=0;
USHORT inbuf=0;
for( i = 0; i < tcpExTable->dwNumEntries; i++ )
{
// if(tcpExTable->table.dwState == MIB_TCP_STATE_ESTAB )
{
ProcessPidToName( hProcessSnap, tcpExTable->table.dwProcessId, processName );
if(_tcscmp(processName,ProName)==0)
{
int j=htons((WORD)tcpExTable->table.dwLocalPort);
res=tcpExTable->table.dwProcessId;
port=j;
inbuf=(USHORT)j;
//memcpy(pPort,&port,sizeof(UINT));
DeviceIoControl(hdev,IO_ADDPORT,&inbuf,sizeof(inbuf),0,0,&dwres,0);
}
}
}



[编辑 -  10/25/03 by  clwfe]

[编辑 -  10/25/03 by  clwfe]
steven_kane
驱动牛犊
驱动牛犊
  • 注册日期2002-12-22
  • 最后登录2009-10-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-25 14:18
用DO_BUFFER_IO试一下
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-25 19:07


[编辑 -  12/2/03 by  antspower]
放弃瘟草,现吃李草
游客

返回顶部