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();
};