阅读:5295回复:17
百兆网卡和千兆网卡到底有什么区别?
1、
为什么我在调用下面函数时: NdisQueryPacket(Packet, &PhysicalBufferCount, &BufferCount , &FirstBuffer, &TotalPacketLength); 有时候TotalPacketLength大于2000? 2、在写驱动时,在发送和接受例程中,对于每个包都分配一次内存然后在相应的地方释放,这总机制会不会造成长时间运行后的兰平? 3、ndis对于包的处理是不是串行的?为接受只分配一块内存,所有接受到的包都使用该内存处理会不会造成丢包现象呢? |
|
沙发#
发布于:2003-11-27 15:53
1: 不知道为什么,你确定所Query的Packet是好包?
2: 效率不很好,但不应该造成蓝屏.可能的情况是,有时候分配内存失败,但仍然返回STATUS_SUCCESS,导致没有进入出错处理,会造成蓝屏,我遇到过. 3: 不是串行的,会丢包,好的做法是使用预分配的Buffer链,参照Pcause的做法比较好.看这里: http://www.driverdevelop.com/forum/viewthread.php?tid=54311 |
|
|
板凳#
发布于:2003-11-27 15:57
不知道百兆网卡和千兆有什么区别.常见的情况是,百兆走PtReceive,千兆走PtReceivePacket,其实这也不是千兆百兆的区别,关键看网卡驱动怎么写的,我用过一块Intel的百兆网卡,走的也是PtReceivePacket.
|
|
|
地板#
发布于:2003-11-28 13:59
从你给的网页下载了ImSamp驱动,不能编译通过,
nmake.exe failed -rc = 2 你遇到这个问题么? |
|
地下室#
发布于:2003-11-28 14:17
好像那个页面的连接中没有针对2000的源代码吧?
是不是for nt4? |
|
5楼#
发布于:2003-11-28 16:16
不好意思,有段时间我一直在用这个例子里面的代码,刚刚我直接build了一下,问题和你的一样,不过肯定是可以编过的,一会儿我再试试.
这个例子本身是NT4 DDK里带着的,所以应该是可以支持NT4.0的. 刚刚没看清楚你的话,以为你是想支持NT4. Imsamp支持2000是没有问题的,不过如果要绑定Modem的话,需要仿照XpPassthru的做法稍微改一点,包括inf,你应该已经知道了. [编辑 - 11/28/03 by SharpShooter] |
|
|
6楼#
发布于:2003-11-28 16:30
刚刚我这样做了一下:
用softice->tools里的SourceToDspConvter将Source文件转换成Dsp文件,用VC编译,可以通过,不过建好的VC项目里的.c文件又重新添加了一次.然后我又把两个.rc文件从项目里删了,估计没什么用,编的时候还总和这两个文件纠缠,一会儿得把一个.res拷到Check目录下,一会儿又找不到了.res,删了算了. [编辑 - 11/28/03 by SharpShooter] |
|
|
7楼#
发布于:2003-11-28 16:39
好像那个页面的连接中没有针对2000的源代码吧? 那个页面的中间一帖有else仁兄给出的两三年前开始流传的Pcause的一个包,里面有很多东西,包括针对每部分的Prog Guide. |
|
|
8楼#
发布于:2003-11-28 16:50
那个包我看过了,没有么。
|
|
9楼#
发布于:2003-12-01 09:22
那个包我看过了,没有么。 没有?!姐姐,拜托看仔细些! 那个zip里打开是好几个zip,再往里各是一个rar,解开是个exe,其实也是个压缩包,运行它会提示你解压,或者直接解压也好,里面都是代码了. 不用我说这么仔细吧? |
|
|
10楼#
发布于:2003-12-01 09:37
我需要win2000的示例程序,下面是它的readme.txt,是哪个呢?
1.SSG-TDIS.ZIP PCAUSA.Advanced.TDI.Samples.v2.00.03.10.WinNT.Retail.REPACK-SSG // 2.SSH-TDIS.ZIP,SSG.NFO PCAUSA.Advanced.TDI.Samples.WinNT.Retail-SSG Nfo 3.SSG-NPIM.ZIP SSG1.NFO PCAUSA.NDIS.Pseudo-Intermediate.Driver.Sample.v2.02.03.10.Win9xMe.Retail-SSG Nfo 4.SSG-RFWP.ZIP SSG2.NFO PCAUSA.Rawether.for.Windows.Pro.v5.00.13.49.WinAll.Retail-SSG Nfo 5.SSG-NSIM.ZIP SSG3.NFO PCAUSA.Sample.NDIS.Intermediate.Driver.v1.00.01.07.WinNT4.Retail-SSG Nfo |
|
11楼#
发布于:2003-12-01 13:04
T_T!
姐姐,我真的是服了你了,东西就在您手上,里面是些什么东西非得我细细的告诉您您才愿意自己看是吧? 5.SSG-NSIM.ZIP SSG3.NFO PCAUSA.Sample.NDIS.Intermediate.Driver.v1.00.01.07.WinNT4.Retail-SSG Nfo 这个里面的IPBlock,IPPass,IPDelay和Passthru都可以在2000下跑,其中Passthru就是前面说的那个例子,还是前面说过的,要绑定Modem的话,需要仿照XpPassthru的做法稍微改一点. 其它的您可不可以自己看?嗯? |
|
|
12楼#
发布于:2003-12-01 13:08
再有一句话,2000和NT一脉相承,支持NT的东西2000上基本也没有太多问题,虽说我们要与时俱进,可无产阶级革命老前辈们留下的传家宝也不能随便就丢阿!
|
|
|
13楼#
发布于:2003-12-01 13:28
已经按照你说的做了么,始终不能够编译通过,你能不能给我上传一份你那里可以编译的版本啊?谢了!
|
|
14楼#
发布于:2003-12-01 13:49
好吧好吧, i服了u!~
上次我编过的版本和你的没什么不一样的,这个就是了: --注意看一下你VC的Build菜单里,可以Build的是Win32 Free或者Win32 Checked的,可别去编什么Win32 IA64的. 还有,用VC编译别忘了设置系统变量: CPU=i386 BASEDIR=D:\\NTDDK [编辑 - 12/1/03 by SharpShooter] |
|
|
15楼#
发布于:2003-12-01 14:43
SharpShooter老大,你的文件我编译通过了,但是没有.inf文件,不知道怎么安装?请赐教。
|
|
|
16楼#
发布于:2003-12-01 14:53
仿照NTDDK里passthru例子的netsf.inf和netsf_m.inf做两个就可以了.安装可以使用NetCfg的接口做,也可以使用SetupDiXxx等函数做.
|
|
|
17楼#
发布于:2003-12-01 15:09
多谢老大 :D
|
|
|