monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
阅读:1774回复:8

高手赐教NDIS4.0 IMD的问题!(270分)

楼主#
更多 发布于:2003-02-20 21:50
在IMSAMP中在DriverEntry中有这么几句是什么意思?

#ifdef PACKET_POOL_LOG
    NDIS_PHYSICAL_ADDRESS HighAddress = NDIS_PHYSICAL_ADDRESS_CONST( -1, -1 );
#endif


#ifdef PACKET_POOL_LOG
    NdisAllocateMemory( &PktPoolLog, sizeof(PKTPOOLLOG) * PPLogSize, 0, HighAddress );
#endif

然而PktPoolLog PFTPOOLOG PPLogSize是系统定义的东西,这是什么东西,是不是就是包描述符的那个保留部分大小,在2K的Passthru中有显著的代码操作这个,但是在Nt4.0中没有,所以我怀疑是,不知道是否正确,如果是为什么还要加上条件编译呢?
请高手赐教!

最新喜欢:

antspowerantspo...
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2003-02-21 01:44
我手头没有imsamp。不过看起来这个问题不难。

-1就是0xffffffff,
意思是说,可以在任何一个地方分配内存。

如果定义了需要log,
那么分配PPLogSize个PKTPOOLLOG大小的内存,以便存放log。


在IMSAMP中在DriverEntry中有这么几句是什么意思?

#ifdef PACKET_POOL_LOG
    NDIS_PHYSICAL_ADDRESS HighAddress = NDIS_PHYSICAL_ADDRESS_CONST( -1, -1 );
#endif


#ifdef PACKET_POOL_LOG
    NdisAllocateMemory( &PktPoolLog, sizeof(PKTPOOLLOG) * PPLogSize, 0, HighAddress );
#endif

然而PktPoolLog PFTPOOLOG PPLogSize是系统定义的东西,这是什么东西,是不是就是包描述符的那个保留部分大小,在2K的Passthru中有显著的代码操作这个,但是在Nt4.0中没有,所以我怀疑是,不知道是否正确,如果是为什么还要加上条件编译呢?
请高手赐教!
 
不再回忆从前,我已经生活在幸福当中。
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-21 10:20
谢谢胡大侠的教诲。我是做WinCE3.0的NDIS IMD,他说的是支持NDIS4.0,可是发现又不是完全支持,有些函数他没有。以后还有问题,希望斑竹能够提携!好运!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-21 10:22
能不能详细介绍以下wince的网络层次结构?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-21 10:35
这个我也不是很清楚,现在主要是把NDIS IMD做出来完成毕设,等有时间了在去好好的研究了.不过在WINCE中没有了NDISWAN,同时PPP与TCP/IP之间使用的是私有接口,所以做截包的话,在这个问题上会有些麻烦的!
好运!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-21 10:39
他也是pe格式的吧?可以hook  ndis和TCPIP的函数吧?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-02-21 10:42
头儿说最好不要用HOOK,那样可能不稳定。所以先试试IMD了!
不过我还是希望用HOOK,主要是代码少啊!
在WinCE中所有的驱动都是DLL文件!
象ndis.dll!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-21 10:49
哦,32位的dll?有用户态和核心态么?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-02-21 11:02
驱动不是普通的DLL,他也有导出的DriverEntry。至于核心太和用户太我觉得WinCE好象没有了,呵呵。等我看清楚了在说吧,我做事了!好运!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
游客

返回顶部