ATL项目中普通类通过CoCreateInstance获取IXMLDOMDocument接口时返回E_NOINTERFACE解决方法

ATL项目中普通类通过CoCreateInstance获取IXMLDOMDocument接口时返回E_NOINTERFACE
在ATL项目中的一个普通C++类(此类被BHO对象实例化)的一个函数中有如下代码:

C/C++ code

hr = CoCreateInstance(CLSID_DOMDocument, NULL,CLSCTX_INPROC_SERVER,
        IID_IXMLDocument, (void**)&m_pConfigXMLDoc);
if(FAILED(hr))
{
    return FALSE;
}


hr返回为E_NOINTERFACE,这是什么原因?

------解决方案--------------------
关注
------解决方案--------------------
C/C++ code
hr = CoCreateInstance(/*CLSID_DOMDocument*/CLSID_XMLDocument, NULL,CLSCTX_INPROC_SERVER,
        IID_IXMLDocument, (void**)&m_pConfigXMLDoc);

------解决方案--------------------
MSXML::IXMLDOMDocumentPtr m_plDomDocument;
HRESULT hr = m_plDomDocument.CreateInstance(MSXML::CLSID_DOMDocument);
if (FAILED(hr))
{ _com_error er(hr);
lasterror = er.ErrorMessage();
return false;
}
这样试试看
------解决方案--------------------
支持!帮顶!
------解决方案--------------------
检查你的计算机上安装的MSXML的版本。用#import的方式导入MSXML接口。