shar123
驱动牛犊
驱动牛犊
  • 注册日期2009-05-12
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望461点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1947回复:4

DDK库API调用出现问题

楼主#
更多 发布于:2009-07-16 17:19
请教各位大侠 我调用DDK2600中的IFS目录下的fcb.h,需要使用FCB这个结构体
#include <C:\WINDDK\2600\inc\ifs\fcb.h>
但是编译的时候却出现了很多错误,是不是DDK还没有把这个模块做好,错误越改越多


1>Compiling - sfilter.c for i386
1>c:\winddk\2600\inc\ifs\fcbtable.h(32) : error C2061: syntax error : identifier
 'NODE_TYPE_CODE'
1>c:\winddk\2600\inc\ifs\fcbtable.h(33) : error C2061: syntax error : identifier
 'NodeByteSize'
1>c:\winddk\2600\inc\ifs\fcbtable.h(33) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(46) : error C2059: syntax error : '}'
1>c:\winddk\2600\inc\ifs\fcbtable.h(54) : error C2061: syntax error : identifier
 'NODE_TYPE_CODE'
1>c:\winddk\2600\inc\ifs\fcbtable.h(55) : error C2061: syntax error : identifier
 'NodeByteSize'
1>c:\winddk\2600\inc\ifs\fcbtable.h(55) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(72) : error C2061: syntax error : identifier
 'pTableEntryForNull'
1>c:\winddk\2600\inc\ifs\fcbtable.h(72) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(76) : error C2059: syntax error : '}'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2146: syntax error : missing ')
' before identifier 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2143: syntax error : missing ')
' before 'identifier'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2061: syntax error : identifier
 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(80) : error C2059: syntax error : ','
1>c:\winddk\2600\inc\ifs\fcbtable.h(81) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2146: syntax error : missing ')
' before identifier 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2143: syntax error : missing ')
' before 'identifier'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2061: syntax error : identifier
 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(85) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\fcbtable.h(88) : error C2061: syntax error : identifier
 'RxFcbTableLookupFcb'
1>c:\winddk\2600\inc\ifs\fcbtable.h(88) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(89) : error C2146: syntax error : missing ')
' before identifier 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(89) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(89) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(89) : error C2143: syntax error : missing ')
' before 'identifier'
1>c:\winddk\2600\inc\ifs\fcbtable.h(89) : error C2061: syntax error : identifier
 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(89) : error C2059: syntax error : ','
1>c:\winddk\2600\inc\ifs\fcbtable.h(90) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2146: syntax error : missing ')
' before identifier 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2143: syntax error : missing ')
' before 'identifier'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2061: syntax error : identifier
 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(94) : error C2059: syntax error : ','
1>c:\winddk\2600\inc\ifs\fcbtable.h(95) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2146: syntax error : missing ')
' before identifier 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2144: syntax error : '<Unknown>
' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2143: syntax error : missing ')
' before 'identifier'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2061: syntax error : identifier
 'pFcbTable'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\fcbtable.h(99) : error C2059: syntax error : ','
1>c:\winddk\2600\inc\ifs\fcbtable.h(100) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\buffring.h(70) : error C2061: syntax error : identifier
 'PSRV_CALL'
1>c:\winddk\2600\inc\ifs\buffring.h(71) : error C2061: syntax error : identifier
 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(71) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(75) : error C2059: syntax error : '}'
1>c:\winddk\2600\inc\ifs\buffring.h(99) : error C2061: syntax error : identifier
 'RX_WORK_QUEUE_ITEM'
1>c:\winddk\2600\inc\ifs\buffring.h(100) : error C2061: syntax error : identifie
r 'HandlerWorkItem'
1>c:\winddk\2600\inc\ifs\buffring.h(100) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(101) : error C2061: syntax error : identifie
r 'LastChanceHandlerWorkItem'
1>c:\winddk\2600\inc\ifs\buffring.h(101) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(105) : error C2059: syntax error : '}'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2146: syntax error : missing '
)' before identifier 'pSrvCall'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2143: syntax error : missing '
)' before 'identifier'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2061: syntax error : identifie
r 'pSrvCall'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(119) : error C2059: syntax error : ','
1>c:\winddk\2600\inc\ifs\buffring.h(120) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2146: syntax error : missing '
)' before identifier 'pSrvCall'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2143: syntax error : missing '
)' before 'identifier'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2061: syntax error : identifie
r 'pSrvCall'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(124) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2146: syntax error : missing '
)' before identifier 'pFcb'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2143: syntax error : missing '
)' before 'identifier'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2061: syntax error : identifie
r 'pFcb'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(128) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2146: syntax error : missing '
)' before identifier 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2143: syntax error : missing '
)' before 'identifier'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2061: syntax error : identifie
r 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(132) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2146: syntax error : missing '
)' before identifier 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2143: syntax error : missing '
)' before 'identifier'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2061: syntax error : identifie
r 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2059: syntax error : ';'
1>c:\winddk\2600\inc\ifs\buffring.h(136) : error C2059: syntax error : ')'
1>c:\winddk\2600\inc\ifs\buffring.h(140) : error C2146: syntax error : missing '
)' before identifier 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(140) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(140) : error C2144: syntax error : '<Unknown
>' should be preceded by '<Unknown>'
1>c:\winddk\2600\inc\ifs\buffring.h(140) : error C2143: syntax error : missing '
)' before 'identifier'
1>c:\winddk\2600\inc\ifs\buffring.h(140) : error C2061: syntax error : identifie
r 'pSrvOpen'
1>c:\winddk\2600\inc\ifs\buffring.h(140) : error C1003: error count exceeds 100;
 stopping compilation
BUILD: Compile errors: not linking c:\winddk\sfilter directory
BUILD: Done


到最后越改越多,甚至报错说
PVOID
RxPrefixTableLookupName(
    IN  PRX_PREFIX_TABLE ThisTable,
    IN  PUNICODE_STRING  CanonicalName,
    OUT PUNICODE_STRING  RemainingName,
    IN  PRX_CONNECTION_ID ConnectionId
    );
函数中第二个参数之前缺少;

奇怪 库中的API不能直接调用吗
wyhero
驱动牛犊
驱动牛犊
  • 注册日期2008-03-17
  • 最后登录2016-02-02
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望563点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-10-08 13:22
我也碰到这个问题了,有谁知道如何解决的吗?
wyhero
驱动牛犊
驱动牛犊
  • 注册日期2008-03-17
  • 最后登录2016-02-02
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望563点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-10-08 13:27
知道的大侠指点一下如何解决
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
地板#
发布于:2010-10-08 23:57
Why you need this internal FCB structure?

I believe what you need is FSRTL_ADVANCED_FCB_HEADER or FSRTL_COMMON_FCB_HEADER defined in ntifs.h. Detailed information about FsContext can be found in book "Windows NT File System Internals" page 261.

wyhero
驱动牛犊
驱动牛犊
  • 注册日期2008-03-17
  • 最后登录2016-02-02
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望563点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-10-18 11:32
我想获取打开当前文件对象的进程的全路径,在FCB结构中有该路径,除此还有其它办法吗
游客

返回顶部