Protocol extension is a mechanism for adding functionality to existing ObjectARX classes. This new functionality is embodied in protocol extension classes associated with an existing ObjectARX class at runtime. The association of an ObjectARX class with protocol extension classes is made by way of the ObjectARX class descriptor object, see Deriving a Custom ObjectARX Class. The class descriptor object describes the class and includes an array of pointers to any objects that extend the functionality of that class. An ObjectARX class can have any number of protocol extensions associated with it.