An abstract base class (i.e. a class containing one or more abstract virtual functions) is called an interface in the 3ds Max SDK documentation. In 3ds Max interfaces are used to expose services from 3ds Max to plug-ins (called the core interfaces).
Core interfaces are interfaces to a singleton object that exposes services provided by 3ds Max. The most recent version which should be used in new plug-ins is the COREInterface16 class. A pointer to this class can be relieved using the function GetCOREInterface16(). The most recent core interface version is also returned by GetCoreInterface().
Plug-in interfaces are the base classes that a plug-in implements in order to expose functionality to 3ds Max. The most important plug-in base classes are derived from Animatable (see the list of Plug-in Base Classes). Additional interfaces such as IPainterInterface_V5 can also be implemented in order to expose additional functionality to 3ds Max.
The plug-in interfaces can be broken up roughly into two categories:
Both classes derive from the InterfaceServer base class which provides an interface querying mechanism.