IAcadBaseObject
IAcadBaseObject - интерфейс, имел обыкновение управлять связью от объекта COM до объекта резидента базы. Это - ответственность объекта COM сбросить связь от AcDbObject до объекта COM, когда объект COM разрушается. Это сделано, используя AcAxOleLinkManager класс, обсужденный ниже, обычно в деструкторе класса COM:
interface DECLSPEC_UUID("5F3C54C0-49E1-11cf-93D5-0800099EB3B7")
IAcadBaseObject : public IUnknown
{
// IUnknown methods
//
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
// IAcadBaseObject methods
//
STDMETHOD(SetObjectId)(THIS_ AcDbObjectId& objId,
AcDbObjectId ownerId = AcDbObjectId::kNull,
TCHAR* keyName = NULL) PURE;
STDMETHOD(GetObjectId)(THIS_ AcDbObjectId* objId) PURE;
STDMETHOD(Clone)(THIS_ AcDbObjectId ownerId,
LPUNKNOWN* pUnkClone) PURE;
STDMETHOD(GetClassID)(THIS_ CLSID& clsid) PURE;
STDMETHOD(NullObjectId)(THIS) PURE;
STDMETHOD(OnModified)(THIS) PURE;
};