Unable to cast COM object of type '%1' to class type '%2'. Instances of types that represent COM components cannot be cast ...

Unable to cast COM object of type '%1' to class type '%2'. Instances of types that represent COM components cannot be cast to different types that represent COM components; however they can be cast to interfaces as long as the underlying COM component supports QueryInterface calls for the IID of the interface.