LayManly
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2786回复:6

基础问题:关于must point to class/struct/union

楼主#
更多 发布于:2004-04-08 17:34
我使用DriverStudio生成u盘驱动得框架后使用vc在入口函数DriverEntry()出添加代码如下:
NTSTATUS MyDriver2003::DriverEntry(PUNICODE_STRING RegistryPath)
{
DriverObject->MajorFunction[IRP_MJ_CREATE] = Create;
.....
}

编译sys文件时提示:
F:\driver\MyDriver2003\sys\MyDriver2003.cpp(64) : error C2227: left of '->MajorFunction' must point to class/struct/union
F:\driver\MyDriver2003\sys\MyDriver2003.cpp(64) : error C2065: 'Create' : undeclared identifier

怎么回事?应该怎样修改?(注:整个框架是DS默认生成的,我只写了上面提到的代码!)环境:win2003,2000ddk,ds3.1
y5318
驱动中牛
驱动中牛
  • 注册日期2001-09-18
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分14分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-04-08 17:40
DriverObject 的定义对不对,create有没有定义,或者定义的位置对不对
LayManly
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-08 17:42
DriverObject好像是ds库自带的,create是ds默认生成由的
LayManly
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-08 17:42
我的qq:2377838
email:laymanly@sina.com
LayManly
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-08 17:43
在线等待中。。。。
LayManly
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-09 23:35
我自己顶!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-10 11:39
DriverObject就算是库自带的也要声明呀,又不是全局变量
如下:
我的是:
PDEVICE_OBJECT DeviceObject = NULL;
也许你的应该是:
PDRIVER_OBJECT DriverObject = NULL;
DriverObject->MajorFunction[IRP_MJ_CREATE] = Create;
游客

返回顶部