Developers use Indirect References in situations where direct references would create circular references. This is done instead of using pointers so that when an object XRef is loaded, the references can be recreated correctly.
References to nodes held by scene entities that are XRef'd must be remapped when updating XRefs. 3ds Max records node-ref-remap entries automatically when merging objects for the purpose of XRef's . References to nodes held by object XRef'd reference makers must also be remapped when updating XRef records.
In most cases, 3ds Max automatically records data required to remap node references when XRefing objects. For the legacy version of the plug-in to be XRef-able, the plug-in must record remapping information in a postload-callback for the indirect references to nodes.
Use ILoad::RecordNodeRefRemap() to record remap information for indirect references to nodes. For more information, see ioapi.h.
Here is a list of plugins in the 3ds Max SDK Samples that use INodeMonitor and indirect references: