描述:
Ibase* pbase;
HRESULT hr;
hr = CoInitialize(0);
hr= CoCreateInstance(CLSID_app1,NULL,CLSCTX_INPROC_SERVER,IID_Ibase,(void**)&pbase);
if(SUCCEEDED(hr))
{
long x;
pbase->fuc1(1,&x);
}
// 释放COM
CoUninitialize();
代码如上,在CoCreateInstance执行的时候程序就非法退出了
我的服务端代码是
class ATL_NO_VTABLE Capp1 :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<Capp1, &CLSID_app1>,
public Ibase
{
public:
Capp1()
{
}
DECLARE_REGISTRY_RESOURCEID(IDR_APP1)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(Capp1)
COM_INTERFACE_ENTRY(Ibase)
END_COM_MAP()
// Ibase
public:
STDMETHOD(fuc2)(/*[in]*/BSTR in,/*[out]*/BSTR* out);
STDMETHOD(fuc1)(/*[in]*/long in,/*[out]*/long* out);
};
请高手帮我解惑啊
您可能想查找下面的文章:
- CoCreateInstance和CoCreateInstanceEx的区别??
- 抓狂!看了几天了,CoCreateInstance总是出错!!!!救命啊!
- 请教CoCreateInstanceEx产生E_ACCESSDENIED的原因
- CoCreateInstance的内部实现问题??
- 在DEV-CPP中编译建立快捷方式代码出现incompatibletypeforargument1of`CoCreateInstance'
- 用dll的COM除了cocreateinstance能不能就当普通DLL用loadlibrary调用。
- CoCreateInstanceEx问题
- CoCreateInstance调用成功,CoGetClassObject调用失败,为什么?
- CoCreateInstance调用出错,帮看看!
- CoCreateInstance的问题