首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-02-15 
ATL项目中普通类通过CoCreateInstance获取IXMLDOMDocument接口时返回E_NOINTERFACE在ATL项目中的一个普通C

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

热点排行