阅读:2257回复:20
to njtuyjt
谁有nddk和早期的mdsn啊?听说这下面有ndis2的网卡驱动程序的例子代码,快拯救我于水深火热之中吧,在此先谢过了!!!
[编辑 - 11/4/02 by silan] [编辑 - 11/14/02 by silan] |
|
|
沙发#
发布于:2002-10-28 14:14
你看好了,NE2000的SOURCE,来自DDK。
|
|
|
板凳#
发布于:2002-10-28 15:33
你看好了,NE2000的SOURCE,来自DDK。 是说ndis2。 |
|
|
地板#
发布于:2002-10-29 14:04
对,我要的是for ndis2的网卡驱动程序的例子代码,不是指98和2000下的驱动
|
|
|
地下室#
发布于:2002-10-31 21:12
唉,估计是送分不出去了,毕竟这东西太古老了,我发誓以后不做DOS下的网络开发了。
|
|
|
5楼#
发布于:2002-11-01 16:46
唉,估计是送分不出去了,毕竟这东西太古老了,我发誓以后不做DOS下的网络开发了。 同感,我也快倒下了。看来,这样开发的确有难度,我还以为只有我碰到了,没想到你也碰到了。赶紧做玩吧,完了就好了。 |
|
|
6楼#
发布于:2002-11-01 16:54
唉,估计是送分不出去了,毕竟这东西太古老了,我发誓以后不做DOS下的网络开发了。 对了,问你一句,你的驱动程序也是*.dos格式的吧?我不太理解这种格式的文件是如何执行的,不可以做一个*.exe的文件么? |
|
|
7楼#
发布于:2002-11-02 16:09
文件后缀名不重要,如果你要做成可执行文件,那就不能和网络组件接口,所以如果你要写ndis2的网卡驱动,你就必须写驱动程序,而这个驱动程序编译连接后后缀名也是.exe,你把它改成.dos就行了。我找不到例子代码,手头上只有一份协议,调试出了问题(绑定问题),已经困了我好久,我快崩溃了,唉!!!
|
|
|
8楼#
发布于:2002-11-03 13:54
如果你要做成可执行文件,那就不能和网络组件接口 问一句,我的应用程序在和网卡驱动rtsnd.dos动态绑定的时候会出问题,调用protocol manger 的其他接口没问题,但在BindAndStart的时候总出错,出错码是ffff,但general_failure应该是00ff才对。不知道是不是因为我错误的理解了动态绑定的含义。 在我的模块向PM(Protocol Manger)注册之后,调用BindAndStart接口函数时,PM会调用我的InitiateBind接口函数是吧。这个函数的作用不就是返回指向要绑定模块(MAC)的CCT的指针么,我的函数简单处理了一下,然后返回,代码如下,可是为什么总有问题。 _COMMTABLE * far pascal InitiateBind(char far *Param1,char far *Param2,unsigned int Param3,unsigned int Opcode,unsigned int TargetDS) { printf(\"the call used by Protocol Manger to do InitiateBind\\n\"); return (_COMMTABLE *)Param2; } 其中,_COMMTABLE是我自定义的CCT的结构,函数的参数应当是由PM来压入堆栈,所以用far pascal模式调用。 |
|
|
9楼#
发布于:2002-11-03 15:28
给你一个典型的autoexec.bat。至于问题还得你来找,我也是个初哥,呵呵。
@echo off \\DOS\\mscdex.exe /d:mscd000 /k \\DOS\\smartdrv.exe \\DOS\\DOSKEY path C:\\MSCLIENT;c:\\;c:\\DOS;a:\\;a:\\DOS set dircmd=/o:gne C:\\NET\\net initialize C:\\NET\\nwlink C:\\NET\\netbind.com C:\\NET\\umb.com C:\\NET\\tcptsr.exe C:\\NET\\tinyrfc.exe C:\\NET\\nmtsr.exe C:\\NET\\emsbfr.exe C:\\NET\\net start |
|
|
10楼#
发布于:2002-11-03 16:22
dddddd
|
|
|
11楼#
发布于:2002-11-03 16:23
我有的。不知道怎么发给你呀。
不知道什么原因,上次发的变成了DDDD |
|
|
12楼#
发布于:2002-11-04 09:02
能以附件的形式发到我的信箱吗?太感谢了。email:zhangba@cmmail.com
|
|
|
13楼#
发布于:2002-11-04 09:07
to njtuyjt:你给的.bat是安装网络后就产生的呀,我也有。你在你的InitiateBind中要根据给你的CCT,调用MAC的Bind接口,把你的CCT传给它。
|
|
|
14楼#
发布于:2002-11-04 10:42
to njtuyjt:还有你的返回值,好像应该是0:SUCCESS之类的东西,而不是_COMMTABLE * ,指针在程序中可以直接赋值返回嘛。我只是凭感觉,不知道你写的是不是一个上层的driver。
|
|
|
15楼#
发布于:2002-11-04 14:34
20分太少,我再加100分。
|
|
|
16楼#
发布于:2002-11-04 14:43
是的,我做的是上层模块,直接用MAC驱动模块。
to silan:你在前面提到“在你的InitiateBind中要根据给你的CCT,调用MAC的Bind接口,把你的CCT传给它。”那么我的协议模块的InitiateBind函数还应当根据返回的MAC的CCT调用MAC的Bind接口是吧。可是我这么做了,还是有问题,按理说我的InitiateBind函数中要显示的信息应该在,可是没有迹象说明PM调用了我的InitiateBind函数,而InitiateBind函数又返回了一个错误代码,这不太合理。 |
|
|
17楼#
发布于:2002-11-08 09:14
你是不是要绑定到MAC driver,在你的初始化部分是不是要进行如下操作:
1.打开PROTMAN$; 2.调用PROTMAN的GetProtocolManagerInfo,得到protocol.ini中的信息; 3.调用ProtMan的RegisterModule接口。 之后,ProtMan会自动调用你的InitiateBind接口。如果没调用RegisterModule,ProtMan怎么会知道你的存在呢?我也是瞎说!!! |
|
|
18楼#
发布于:2002-11-14 09:28
njtuyjt,问题解决调了吗?
|
|
|
19楼#
发布于:2002-11-20 16:19
没有呀,在做不出来老板要开我了。我的就差最后一步bind了,不知道为什么没法完成绑定。真是呕气死了。:(
PS:我给你发了封信详细描述请查收 |
|
|
上一页
下一页