创建的ATL windows 服务,在客户端创建COM对象是返回0x80080005

版权声明:本人的作品仅供研究目的,如果读者利用本人的作品从事其他行为,与本人无关 https://blog.csdn.net/oShuangYue12/article/details/88424114

查看你的 rgs 文件,并且做如下替换:
ForceRemove {9ACB97C6-4492-40E8-A1BD-51DFE8962E92} = s ‘CMyObject Class’

        {

              ProgID = s 'ATLComService.CMyObject.1'

              VersionIndependentProgID = s 'ATLComService.CMyObject'

              ForceRemove 'Programmable'

              LocalServer32 = s '%MODULE%'

              'TypeLib' = s '{E423A7DE-58C7-4535-A864-395DCEDE941F}'

        }

替换成:

        ForceRemove {9ACB97C6-4492-40E8-A1BD-51DFE8962E92} = s 'CMyObject Class'

        {

              ProgID = s 'ATLComService.CMyObject.1'

              VersionIndependentProgID = s 'ATLComService.CMyObject'

              ForceRemove 'Programmable'

              LocalServer32 = s '%MODULE%'

              val AppID = s '%APPID%'

              'TypeLib' = s '{E423A7DE-58C7-4535-A864-395DCEDE941F}'

        }

!!!重要!!!加上这个val AppID = s ‘%APPID%’
加上预处理器定义_ATL_FREE_THREADED

猜你喜欢

转载自blog.csdn.net/oShuangYue12/article/details/88424114