IUnknown Interface ¶
COM 객체의 핵심을 이루는 인터페이스.
컴자체가 바이너리 모델이 거의 C++을 유사한 형태로 가져온 만큼 C++ 모습을 보면 대략 어떤 향태인지를 추측할 수 있다.
컴자체가 바이너리 모델이 거의 C++을 유사한 형태로 가져온 만큼 C++ 모습을 보면 대략 어떤 향태인지를 추측할 수 있다.
~cpp // c++ implementation class IUnknown { public: virtual HRESULT QueryInterface(REFIID riid, void** ppvObject) = 0; virtual ULONG AddRef() = 0; virtual ULONG Release() = 0; } // c implementation typedef struct IUnknown IUnknown typedef struct { HRESULT (*QueryInterface) (IUnknown *This, REFIID *This, REFIID riid, void** ppvObject); ULONG (*AddRef) (IUnknown *This); ULONG (*Release) (IUnknown *This); } IUnknownVtable; typedef struct { struct IUnknownVtable * lpVtable; } IUnknown;