lce512
驱动牛犊
驱动牛犊
  • 注册日期2009-08-04
  • 最后登录2009-08-25
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1508回复:2

为什么*.c的文件编译驱动,定义的变量会出错

楼主#
更多 发布于:2009-08-21 22:48
把文件名换成.cpp就不会出错,这是为什么
部分代码:
#include <wdm.h>
……
NTSTATUS Wdm1AddDevice(IN PDRIVER_OBJECT DriverObject,IN PDEVICE_OBJECT pdo)
{
    DbgPrint("AddDevice");
    NTSTATUS status;
    PDEVICE_OBJECT fdo;

    //创建功能设备对象fdo
    status=IoCreateDevice(DriverObject,
                  sizeof(WDM1_DEVICE_EXTENSION),
                NULL,//no name
                FILE_DEVICE_UNKNOWN,
                0,
                FALSE,//Not exclusive
                &fdo);
    if(!NT_SUCCESS(status))
        return status;

……


1>errors in directory e:\mine\4
1>e:\mine\4\inti.c(61) : error C2275: 'NTSTATUS' : illegal use of this type as a
n expression
1>e:\mine\4\inti.c(61) : error C2146: syntax error : missing ';' before identifi
er 'status'
1>e:\mine\4\inti.c(61) : error C2065: 'status' : undeclared identifier
1>e:\mine\4\inti.c(62) : error C2275: 'PDEVICE_OBJECT' : illegal use of this typ
e as an expression
1>e:\mine\4\inti.c(62) : error C2146: syntax error : missing ';' before identifi
er 'fdo'
1>e:\mine\4\inti.c(62) : error C2065: 'fdo' : undeclared identifier
1>e:\mine\4\inti.c(65) : error C2065: 'status' : undeclared identifier
1>e:\mine\4\inti.c(71) : error C2065: 'fdo' : undeclared identifier
1>e:\mine\4\inti.c(72) : error C2065: 'status' : undeclared identifier
1>e:\mine\4\inti.c(73) : error C2065: 'status' : undeclared identifier
……
……
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2009-08-22 18:16
兄弟,你c语言没学好吧?

   DbgPrint("AddDevice");
    NTSTATUS status;
    PDEVICE_OBJECT fdo;

改为

    NTSTATUS status;
    PDEVICE_OBJECT fdo;

   DbgPrint("AddDevice");

BTW:  建议参加我们即将开办的驱动开发网络培训:)
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
lce512
驱动牛犊
驱动牛犊
  • 注册日期2009-08-04
  • 最后登录2009-08-25
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-08-22 21:41
呵呵,原来如此啊,我看例子都是C++的都忘了c要先定义。
谢谢!
再过几天要去上学了,没太多时间,只能自己慢慢磨了……
游客

返回顶部