All interfaces implemented by MAPI objects ultimately inherit from IUnknown, the OLE interface that enables objects to communicate. Most interfaces directly inherit from IUnknown, but some inherit from one of two other base interfaces: IMAPIProp and IMAPIContainer. The following illustration shows the complete inheritance hierarchy in MAPI.