VC2015調用COM組件
阿新 • • 發佈:2018-02-03
ace ++ 接口 coin 出錯信息 roc com組件 init bsp VC++中調用COM組件的方法很多.這裏只說其中一種.須將COM庫自動生成的*_i.h和*_i.c文件添加到工程中.
#include "ATLMain_i.h" IMyAtlClass * pIStatisticATL = NULL; HRESULT hr = CoInitialize(NULL);//初始化COM //使用SUCCEEDED宏並檢查我們是否能得到一個接口指針 if (SUCCEEDED(hr)) { hr = CoCreateInstance(CLSID_MyAtlClass,//COM對象的標誌符(自己添加的類) NULL, CLSCTX_INPROC_SERVER, IID_IMyAtlClass,//COM接口的標識符(自己添加的接口) (void **)&pIStatisticATL); //如果成功,則調用Add方法,否則顯示相應的出錯信息 if (SUCCEEDED(hr)) { LONG nReturnValue; pIStatisticATL->Sum(1, 2, &nReturnValue); TRACE(_T("%d"), nReturnValue); pIStatisticATL->Release(); } else { TRACE (_T("CoCreateInstance Failed." )); } } CoUninitialize();//釋放COM
在*_i.h文件中,COM對象類標識符,作為CoCreateInstance時的第一個參數。
EXTERN_C const CLSID CLSID_MyAtlClass;
COM類對象所對應的接口標識符,用來調用成員方法。
EXTERN_C const IID IID_IMyAtlClass;
VC2015調用COM組件