MFC如何获得正在运行的word的application对象?

一开始我是用

CComPtr<IDispatch> spDisp;  //获取Word的Window对象的智能指针
        CWindows m_Win;
        CApplication m_App;  //定义Word的Windows对象
        HRESULT hresult = AccessibleObjectFromWindow(
            hHwnd,
            OBJID_NATIVEOM,
            IID_IDispatch,
            (void**)&spDisp
            );

        if (S_OK == hresult)
        {
            m_Win.AttachDispatch(spDisp);//
            m_App.AttachDispatch(m_Win.get_Application());//m_App是Word的应用程序对象
        }

在之前的项目里可以正确获得application对象。但项目移植的时候,会出现智能指针释放失败,给spDisp = NULL的操作之后,getapplication()函数就调用失败。
代码是一样的,请教高人!