How can I detect all interfaces a COM object implements?
com, windows
Solution
You can try IDispatch/IDispatchEx if you simply want to know what methods are callable from your consumer.
In COM, the QueryInterface method on IUnknown is not required to expose what interfaces it may return. You ask for one based on its IID and you either get it or not. The implementation of QI in a particular COM object varies considerably although it's supposed to follow the pattern described by Microsoft here - http://msdn.microsoft.com/en-us/library/ms682521%28VS.85%29.aspx.
Problem
Is there any way for a consumer to enumerate all interfaces implemented by a given COM object?