关于创建COM组件时 返回 0x80040154 导致失败的一种情况

    技术2022-06-30  86

    现象:

        最近在创建一个组件时,当调用CoCreateInstance后,返回0x80040154(没有注册类别),导致创建组件失败。

     

    分析:

        直观的意义可以理解为没有注册com组件,不过,经过我多次确认的确我是注册了这个组件的。

    于是上网各种google,baidu,消耗了很多时间,还是没有解决这个问题,

    最后一气之下,全部从新来建立这个工程,因为我以前也建立了各种COM工程都没有问题,肯定是我那个步骤搞错了,

    后面发现是FinalConstruct返回失败了!

        FinalConstruct返回失败,紧接着系统会调用FinalRelease,也就说这个组件已经创建失败了,返回0x80040154也可以理解了。

     

    总结:

        以后要遇到这些问题,一定要冷静的去分析,然后,一些 断言应该加的就要加,

    试想,如果当前我写代码时,对于返回错错误时如果加了asssert,或者我认真调试每一个接口时,就不会出现这样的问题了。

     

     


    最新回复(0)