lljyxh1
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1927回复:10

关于DBGPRINT 宏的语法

楼主#
更多 发布于:2002-03-28 16:55
#define DBGPRINT(Fmt)   \\
{             \\
DbgPrint(\"Passthru: \"); \\
DbgPrint Fmt;           \\
}

查了一下ntddk.h。DbgPrint是一个变参函数。
模仿这个宏编了一个简单的c程序,可怎么也编译不过去。
请高人给讲一奖!!!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-03-29 09:52
应该是这样吧
#define DBGPRINT(Fmt) \\
{ \\
DbgPrint(\"Passthru: \"); \\
DbgPrint (Fmt); \\
}

lljyxh1
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-01 10:15
我是直接copy,你可以看一看passthru.h.
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-01 10:28
你写的是驱动程序吗?
lljyxh1
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-02 09:41
我在写ndis,你可以看一看xppassthru的passthru.h 的第357行。若能给解释清楚,不胜感激!
jyhlc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2005-11-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-02 16:07
在调用的时候可能要用括号将fmt括起来吧。e100bex上是这样的。
lljyxh1
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-02 17:23
若有括号,我就不问了 :(
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-02 20:37
你在调用DBGPRINT的时候是不是传递了多个参数给它啊?
lljyxh1
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-03 10:36
是的。但我的问题是这个宏的语法觉得不理解。查了许多书也没有发现相应的解释。
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-03 15:47
这个是因为在xppassthru的程序里面保证了只传一个参数给这个宏
这个改吧
#define DBGPRINT \\
          DbgPrint(\"Passthru: \"); \\
          DbgPrint




lljyxh1
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-07-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-04-03 18:07
十分感谢,我居然每看调用的时候有两层括号!!!多谢指点,分以寄出。
游客

返回顶部