| < Free Open Study > |
|
This chapter has taken you deep inside the support ATL offers for component housing. We began by reviewing the CComModule class. CComModule wraps up many details behind DLL and EXE COM servers. We then learned quite a bit about the ATL object map. We have seen that the object map is nothing more than an array of ATL_OBJMAP_ENTRY structures.
This structure has a number of fields, which point to coclass-specific functions. The information contained in an _ATL_OBJMAP_ENTRY structure centers around registration and creation details, as well as more advanced COM services such as component categories. Your server's object map may specify creatable (OBJECT_ENTRY) and non-creatable (OBJECT_ENTRY_NON_CREATEABLE) coclasses.
You have also seen how the fields of an _ATL_OBJMAP_ENTRY structure are always given a default implementation, and more often than not, these defaults give you the support you need. If you wish to override this behavior, ATL allows you to insert any number of macros and/or function prototypes in your coclass's header file.
| < Free Open Study > |
|