In my day job, I am currently adding COM support (using the ATL) to our application to make it easy to control from as many languages as possible. This page is an effort to help those who are starting off on the same adventure.
COM Code Snippets
ESG Labs COM Utilities - These are a few routines to help you deal with SAFEARRAYs. The crown of the whole thing is SafeArrayChangeType, which follows in the footsteps of ::VariantChangeType.