我想用CM_Request_Device_Eject停止HID设备, 可是引入<cfgmgr32.h>时总是报下面的错误:
e:\winddk\2600\inc\wxp\cfgmgr32.h(122) : error C2146: syntax error : missing ';' before identifier 'LOG_CONF'
e:\winddk\2600\inc\wxp\cfgmgr32.h(122) : fatal error C1004: unexpected end of file found 请帮忙解决啊!!!

解决方案 »

  1.   

    有数据类型没定义,看是否还需要其他头文件或是自己定义下
    貌似少了"stdafx.h",不过这一般是cpp出的错误
      

  2.   

    头文件的包含顺序有问题,cfgmgr32.h之前应该先包含windows.h或者afx.h之类的头文件。
      

  3.   

    谢谢, 上面的问题已解决, 加入
    #include <atlbase.h>
    #include <atlapp.h>新的问题:error LNK2001: unresolved external symbol __imp__CM_Request_Device_EjectA@20
    fatal error LNK1120: 1 unresolved externals请帮帮忙啊!!!
      

  4.   

    需要引入相关的lib文件。应该是cfgmgr32.lib文件。在project->setting下的link页中增加引用
      

  5.   

     添加#pragma comment(lib, "cfgmgr32.lib")
      

  6.   

    需要lib文件,cfgmgr32.lib文件。在project->setting下的link页中, Object/library   modules编辑框中增加cfgmgr32.lib
      

  7.   

       谢谢, 把目录设成DDK的INCLUDE文件夹就OK了。 结帖。