使用最原始的調用COM組件的方法,這個方法假設COM組件的dll已經被注冊到系統中了
IX* pIX = NULL ;
HRESULT hr = CoCreateInstance(CLSID_CA,
NULL,
CLSCTX_INPROC_SERVER,
IID_IX,
(void**)&pIX) ;
if (SUCCEEDED(hr))
{
pIX->Fx() ;
IY* pIY = NULL ;
hr = pIX->QueryInterface(IID_IY, (void**)&pIY) ;
if (SUCCEEDED(hr))
{
pIY->Fy() ;
IX* pIX2 = NULL ;
hr = pIY->QueryInterface(IID_IX, (void**)&pIX2) ;
if (SUCCEEDED(hr))
{
pIX2->Fx() ;
pIX2->Release();
}
else
{
cout<<"Could not get interface IX from IY."<<endl; ;
}
pIY->Release() ;
}
pIX->Release() ;
}
else
{
cout<<"Could not create component."<<endl;;
}
// Uninitialize COM Library
CoUninitialize() ;
return 0;