In COM, if I have an IBase interface and an IX interface that inherits from IBase, can I call the IBase methods using the IX pointer, and if not, why can I call Release () and AddRef () on any COM interface pointer? without a raise?
Yes, you can call any base method through a pointer to a derived one. This is why you can call AddRef() , Release() and QueryInterface() through any interface pointer.
AddRef()
Release()
QueryInterface()