同样一段代码,在exe中成功调用,但在ActiveX控件中调用总是出错调试中发现是CoCreateInstance() 函数出错,已经调用过CoInitialize()大家知道是什么原因?
解决方案 »
- GetCurrentDirectory使用的参数0,NULL,难以理解
- 如何在对话框上添加侧栏隐藏按钮?
- 初学vc++,请指教
- 如何通过代码向rich edi控件 中添加数据,并且可在程序中动态修改数据
- 如何向MSFlexGrid中插入数据
- MFC使用labview的显示控件,在表盘里添加一个指针,两个指针怎么分开控制
- 200分!哪里有关于2000或者NT安全方面的书籍(比如LSA是什么东西、怎样获得SE_TCB_NAME特权等等之类)。
- 这样会内存泄露吗?
- 谁能告诉我ASSERT()是什么?
- ADO是不是不支持ACCESS2000?
- 如何单独编译一个类?
- 关于文件保存读出问题--十万火急,在线等待,重分相谢!
CoInitialize(NULL);HRESULT hr = ::CoCreateInstance(CLSID_CMAudioProperty,NULL,CLSCTX_INPROC_SERVER,MixerIID_ICMAudioProperty5,(void**)&pICMAudioProperty) ;if (!SUCCEEDED(hr))
AfxMessageBox("Can not create private interface!");hr返回值: 80040115这段代码本身绝对没有错,因为在exe中一直能正常运行,但放在ActiveX后,就出错
有个疑问:既然是已经在ActiveX里,为什么还要另外初始化COM环境呢?或者,看你的代码似乎使用MFC,在MFC下是否也用CoInitialize初始化COM?好像还有个什么OleInitialize之类的是否有关系?另外:pICMAudioProperty是否初始化为NULL?俺也不知道,仅供参考