读书人

ATL项目中普通类通过CoCreateInstance

发布时间: 2012-02-15 12:09:43 作者: rapoo

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接口。

读书人网 >VC/MFC

热点推荐