반응형

1 . coclass스에서... 상속시 public IDispatchImpl<Itestc, &IID_Itestc, &LIBID_TESTLib> 이런템플릿으로 상속.

class ATL_NO_VTABLE Ctestc :
 public CComObjectRootEx<CComSingleThreadModel>,
 public CComCoClass<Ctestc, &CLSID_testc>,
 public IDispatchImpl<Itestc, &IID_Itestc, &LIBID_TESTLib>
{
public:

...

..


2. 인터페이스가 2개일때 메세지 맵에서의 설정 - 두개 인터페이스 전부 dispath를 상속받았을때

BEGIN_COM_MAP(CProbe)
 COM_INTERFACE_ENTRY(IProbe) // dispatch 상속받았을때
 COM_INTERFACE_ENTRY2(IDispatch, IBuild)  // dispath상속받았을때 디폴드 상속받을놈지정
END_COM_MAP()


3. idi 파일에서.. 기존 idi 와이 차이는


import "oaidl.idl";
import "ocidl.idl";
 [
  object,
  uuid(F4075A95-FB47-4A8C-BA49-570D40454509),
  dual, // 기존은 oleautomatic 이였던가??
  helpstring("Itestc Interface"),
  pointer_default(unique)
 ]
 interface Itestc : IDispatch // 기존엔 IUnkown
 {

[id(1), helpstring("method testFun")] HRESULT testFun();
 };

반응형

+ Recent posts