The 3ds Max SDK consists of a rich set of C++ abstract classes (interfaces) and libraries. Some interfaces represent services exposed by 3ds Max for plugins to use. Their implementation are stored in libraries. These services are often referred to as 3ds Max "Core".
Other interfaces represent services plugins must implement in order for them to work in 3ds Max. Plug-ins must also link against those libraries of the 3ds Max SDK whose services they wish to use.
The 3ds Max SDK does not depend on 3rd party libraries other than the various standard Microsoft Windows APIs that are required for developing applications for the recent Microsoft Windows operating systems.
The SDK evolves with each release of 3ds Max. Because it is an object oriented SDK with C++ abstract classes that expose virtual methods, certain changes can render the SDK binary incompatible with plugins built against previous versions of the SDK. Hence the 3ds Max SDK is versioned, which allows 3ds Max to detect plugins built with incompatible SDK versions. Plug-ins that become binary incompatible with certain versions of 3ds Max must be recompiled with the appropriate SDK version.