All 3ds Max objects that can be exported using 3DXI are represented in 3DXI by an object derived from IExportEntity.
This interface provides unified parameter access as well as a way of querying whether a particular IExportEntity is directly supported with a dedicated API. The method, IExportEntity::IsEntitySupported(), is used for this; any supported entity will return TRUE. IExportEntity uses this method to define whether the entity is directly supported from within 3DXI, such as a bitmap texture, and provides direct access using the API for this entity.
Another example: the IGameMesh object provides direct support for TriObjects. In this case, IGameMesh is a wrapper for any geometry-based object, so calling IExportEntity::IsEntitySupported()yields TRUE for any object it can convert to a tri-object, FALSE for the others. If this method returns FALSE, it simply means that there is no dedicated API for use with this object. A developer can still use the IPropertyContainer interface to iterate through properties and access data that way.