Until I started working at Microsoft, or maybe even until I started working on Windows, I wasn't much of a "COM in C++" guy. The functionality that I needed was typically abstracted in to a managed language such as C# and so I could get by by without