longriver2003
驱动小牛
驱动小牛
  • 注册日期2003-09-14
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1377回复:4

各位高手再帮我看看这个定时器问题(40分重奖尚未结)

楼主#
更多 发布于:2004-08-26 11:08
小弟想测试一下在passthru中使用定时器(XP环境下),编译是没问题,安装后本地连接状态栏显示的(TCP/IP)协议都不可用,重新启动机器也启动不了了。请帮我看看是什么原因:
我在passthru下作了如下修改:
在passthru.h中添加:
// Adapt结构中add timer
NDIS_MINIPORT_TIMER PacketProcessTimer;

/////add timer function
extern
VOID
PacketProcessTimerCallback(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
);

在passthru.c中添加:
VOID
PacketProcessTimerCallback(
IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3
)
{
DbgPrint ("hello");
}


在MPInitialize中添加:
//Initialize a timer
NdisMInitializeTimer( &pAdapt->PacketProcessTimer,
pAdapt->MiniportHandle,
(PNDIS_TIMER_FUNCTION)PacketProcessTimerCallback,
pAdapt);

//Set the timer
NdisMSetPeriodicTimer(
&pAdapt->PacketProcessTimer,
10 //1000 MillisecondsPeriod=1 second
);

在MPHalt里添加
NdisMCacelTimer(&pAdapt->PacketProcessTimer,&cancelled);
不知道是哪里出错了。





[编辑 -  8/27/04 by  longriver2003]
给分才有动力!所以我坚决给分!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-08-26 12:12
Timer
Points to caller-supplied, resident storage for a timer object. The timer object is opaque to the caller, but, when it has been initialized, this pointer is a required parameter to the NdisM..Timer functions.


// Adapt结构中add timer
NDIS_MINIPORT_TIMER PacketProcessTimer;

多了个P,呵呵


 :D
zhiyuan19840428
驱动小牛
驱动小牛
  • 注册日期2004-05-11
  • 最后登录2005-06-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-26 12:41
DDK上说The minimum practicable interval to specify on Windows 2000 platforms is ten milliseconds. 你把时间在搞大点试试
longriver2003
驱动小牛
驱动小牛
  • 注册日期2003-09-14
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-26 16:21
对了,我是没有加P。我上面写错了。另外我加到500也不管用。不知还有其他问题没有?
给分才有动力!所以我坚决给分!
longriver2003
驱动小牛
驱动小牛
  • 注册日期2003-09-14
  • 最后登录2005-03-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-27 09:58
把时间改为100就可以了。奇怪!对时间的要求还挺高啊?
给分才有动力!所以我坚决给分!
游客

返回顶部