quarkfc
驱动牛犊
驱动牛犊
  • 注册日期2001-07-13
  • 最后登录2006-07-26
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1621回复:9

求救:xpPassthru按要求改Source在2000下编译居然PIRP没定义,确实没有包含WDM.h亚?

楼主#
更多 发布于:2003-01-02 22:21
我仔细修改了xppassthru的source以及在precomp.h中添加#undef _MAC,但是build -c后居然IRP没有定义,我看了包含的头文件
#include <ndis.h>
#include \"passthru.h\"
这两个头文件都没有包含wdm.h
怎么会有IRP的定义呢?
是不是还要包含wdm.h?



P:\\xppass1\\driver>build -c
BUILD: Object root set to: ==> objchk
BUILD: /i switch ignored
BUILD: Compile and Link for i386
BUILD: Loading e:\\NTDDK\\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Examining p:\\xppass1\\driver directory for files to compile.
    p:\\xppass1\\driver - 5 source files (3,269 lines)
BUILD: Saving e:\\NTDDK\\build.dat...
BUILD: Compiling p:\\xppass1\\driver directory
Compiling Precompiled Header - precomp.h for i386
passthru.h(59) : error C2146: syntax error : missing \')\' before identifier \'Irp\'

passthru.h(59) : error C2081: \'PIRP\' : name in formal parameter list illegal
passthru.h(59) : error C2061: syntax error : identifier \'Irp\'
passthru.h(59) : error C2059: syntax error : \';\'
passthru.h(60) : error C2059: syntax error : \')\'
Compiling Precompiled Header - precomp.h for i386
passthru.h(59) : error C2146: syntax error : missing \')\' before identifier \'Irp\'

passthru.h(59) : error C2081: \'PIRP\' : name in formal parameter list illegal
passthru.h(59) : error C2061: syntax error : identifier \'Irp\'
passthru.h(59) : error C2059: syntax error : \';\'
passthru.h(60) : error C2059: syntax error : \')\'
Compiling - passthru.rc for i386
Compiling - miniport.c for i386
miniport.c(23) : error C1083: Cannot open precompiled header file: \'objchk\\i386\\
precomp.pch\': No such file or directory
Compiling - passthru.c for i386
passthru.c(24) : error C1083: Cannot open precompiled header file: \'objchk\\i386\\
precomp.pch\': No such file or directory
Compiling - protocol.c for i386
protocol.c(24) : error C1083: Cannot open precompiled header file: \'objchk\\i386\\
precomp.pch\': No such file or directory
BUILD: Compile errors: not linking p:\\xppass1\\driver directory
BUILD: Done

    6 files compiled - 13 Errors -  3273 LPS
quarkfc
驱动牛犊
驱动牛犊
  • 注册日期2001-07-13
  • 最后登录2006-07-26
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-03 11:23
哪位前辈给点指点,好吗?
关于passthru的帖子我全部浏览叻一遍,
怎么别人可以,而我的不行?
难道非得改2000的Passthru?
mingyulantian
驱动牛犊
驱动牛犊
  • 注册日期2002-11-26
  • 最后登录2006-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-03 15:31
在source里加入C_DEFINES=$(C_DEFINES) -DBINARY_COMPATIBLE=0
没有

[编辑 -  1/3/03 by  mingyulantian]
sun1979
驱动牛犊
驱动牛犊
  • 注册日期2002-11-19
  • 最后登录2005-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-03 17:24
肯定没好好看以前胡斑竹留的贴子和头文件的定义,
在precomp.h头文件中定义宏
#define NDIS_WDM 1
ndis.h头文件就会包含wdm.h头文件的
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-03 23:26
你是用2k的DDK编译的xp的passthru,用xp的ddk编译就没有问题了。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
quarkfc
驱动牛犊
驱动牛犊
  • 注册日期2001-07-13
  • 最后登录2006-07-26
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-04 10:48
我照三楼楼上大侠加上了:
C_DEFINES=$(C_DEFINES) -DBINARY_COMPATIBLE=0
OK!wdm.h也不用包含
PIRP有定义了,但是发现
NdisIMCopySendPerPacketInfo
NdisIMCopySendCompletePerPacketInfo
两个函数没有定义,
我在DDK的inc
目录查找了一把,没有哪个头文件包含了这两个函数,
难道非得在xpDDK下编译?
XPDDK编译的sys能确保在2000下正常使用吗?

谢谢楼上几位大侠指教!
mingyulantian
驱动牛犊
驱动牛犊
  • 注册日期2002-11-26
  • 最后登录2006-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-04 15:45
不可能的事
我在nids.h里找到了这两个函数
大虾,还是好看一下头文件,或者在重新敲一遍吧,我有时也遇到过
quarkfc
驱动牛犊
驱动牛犊
  • 注册日期2001-07-13
  • 最后登录2006-07-26
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-01-04 17:19
可能我们的2KDDK版本不一样吧,我确实在2KSSK中没有找到那两个函数定义,后来又重新安装了XPDDK,在XPDDK下编译通过,并且直接在2000下安装可以使用,问题已经不存在了,在2kDDK下编译还是不行的,也不管它了。

可怎么给分呢?哦\\\\瓦
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-01-04 21:20
在第一个贴子里面有,点 给分 即可
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-01-06 09:55
哦?是不是 2000DDK 也分很多版本啊?我用 2000DDK 直接编译 XP 版的 Passthru 就毫无问题。
游客

返回顶部