Up to this point, we've seen how to build COM classes using Microsoft Visual C++. Creating new servers is easy, and adding new classes to those servers is also a breeze because of all the great wizard support from Microsoft. However, even though the wizards do a lot for you, it's not always obvious what they're doing under the hood. This chapter examines the ATL COM AppWizard and the ATL Object Wizard in depth, reviewing and building on the information introduced in Chapter 4. We'll start by examining what the different ATL COM AppWizard options do, and then we'll see what the various options within the ATL Object Wizard do.