So in my quest to update all of our GUI apps at work with the new XP Style theme support I need to put the newest MS SDK in the include path. This caused problems with our apps that used msxml.dll (these apps are kind of old). So I just got done changing them all to use the new msxml4.dll and found that some, seemingly useful, types are confined to the MSXML2 namespace. IXML*Ptr, which are COM Safe Pointer wrapped types. Why did they keep these in the MSXML2 namespace? If they took everything else out of the MSXML namespace and stopped exporting it why leaves these in a different namespace? Oh well, it's done now.