1
使用i.h,i.c ,或者tlb文件
注册dll
然後調用
hrInit = ::CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (SUCCEEDED(hrInit) || RPC_E_CHANGED_MODE == hrInit)
{
hr = ::CoCreateInstance(CLSID_MyComClass, NULL,
CLSCTX_INPROC_SERVER, IID_IMyComClass, (void**)& pMyCOM);
if (NULL != pMyCOM)
{
hr = pMyCOM->Add(2, 564);
pMyCOM->Release();
pMyCOM = NULL;
}
if (SUCCEEDED(hrInit))
{
::CoUninitialize();
}
2
idl文件生成其他文件
MIDL D:\MyCOM.idl /tlb D:\MyCOM.tlb /h D:\MyCOM_i.h /iid D:\MyCOM_i.c /Oicf
3 跨语言
注册dll
#import "..\..\comtest\comtest\Debug\comtest.tlb" named_guids ,no_namespace,raw_interfaces_only, raw_native_types
参数未知作用
之后工程内会出现。.tlh 和.tli文件
4
//clsid iid 可以在i.h, 或者tlh中找到
//以上,所以我们需要idl文件 dll文件可以调用COM
以上部分个人理解,可能有错误