none
ATL组件注册成系统服务以后无法调用 RRS feed

  • 问题

  • 直接编译生成的EXE文件接口是可以调用的,但是变成系统服务之后接口就无法调用了,引用类库的程序运行时候就直接出错.

    附上测试项目代码
    http://download.csdn.net/detail/xixdy/7310367

    VS2012创建的项目,操作系统是Win7x64,UAC已关闭
    ATLTest01是ATL项目选择服务程序类型创建的,然后加了一个简单ATL对象,全部按缺省选项
    MFCTest01是对话框缺省模板生成

    ATLTest01直接编译成可执行文件,这个时候MFCTest01是可以正确调用的。但是执行ATLTest01.exe /service注册成服务后就无法调用了。
    hr = CoGetClassObject( clsid, CLSCTX_LOCAL_SERVER, NULL, IID_IClassFactory, (void**) &pCF );
    这句就直接出错

    2014年5月7日 8:05

答案