gjhan
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2006-08-21
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:930回复:6

关于类型声名不成功

楼主#
更多 发布于:2005-04-05 10:44
我的C文件已包含了如下头文件:
#include <ntddk.h>
#include \"tdi.h\"
#include \"tdikrnl.h\"



但当我加入下面这行代码:
PTDI_REQUEST_KERNEL_CONNECT param = (PTDI_REQUEST_KERNEL_CONNECT)(&irps->Parameters);

时BUILD总出错,没有这名就成功。


下面是错误信息
C:\\ndriver>build
BUILD: Object root set to: ==> objchk
BUILD: /i switch ignored
BUILD: Compile and Link for i386
BUILD: Loading D:\\NTDDK\\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Examining c:\\ndriver directory for files to compile.
    c:\\ndriver - 1 source files (243 lines)
BUILD: Saving D:\\NTDDK\\build.dat...
BUILD: Compiling c:\\ndriver directory
Compiling - myfilter.c for i386
myfilter.c(39) : error C2275: \'PTDI_REQUEST_KERNEL_CONNECT\' : illegal use of thi
s type as an expression
myfilter.c(39) : error C2146: syntax error : missing \';\' before identifier \'para
m\'
myfilter.c(39) : error C2065: \'param\' : undeclared identifier
myfilter.c(39) : error C2065: \'irps\' : undeclared identifier
myfilter.c(39) : error C2223: left of \'->Parameters\' must point to struct/union
BUILD: Compile errors: not linking c:\\ndriver directory
BUILD: Done

    1 file compiled - 1 Warning - 5 Errors

C:\\ndriver>
附件是我的源码?请各位前辈指点一下!
附件名称/大小 下载次数 最后更新
2005-04-05_ndriver.rar (3KB)  1
worldcup
驱动小牛
驱动小牛
  • 注册日期2004-08-19
  • 最后登录2006-10-19
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-05 11:10
irps没有声明吧
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-04-05 11:17
irps应该改为pCurrentIrpStack或者pNextIrpStack,,看你自己是怎么想的,,,,

还有一个就是TDI_REQUEST_KERNEL_CONNECT是个结构类型的。。

而 IO堆栈中的Parameters是个联合类型的,,,

不可以这样强制 类型转换吧。。
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2005-04-05 11:28
PTDI_REQUEST_KERNEL_CONNECT怎么定义的。。。

我这还没有装MSDN了,,,看错误好像是它不能用来声明变量的。

是常量??,,你自己查查吧,,
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
gjhan
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2006-08-21
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-05 11:39
我现在是PTDI_REQUEST_KERNEL_CONNECT类型声名过编译不过,变量声名irps好改不是我问的。我没说清楚问什么,请大家见谅!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2005-04-05 11:50
在函数的开始处声明变量
gjhan
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2006-08-21
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-04-05 15:50
多谢5楼arthurtu
!我编译通过了。
游客

返回顶部