Ok man, So the remaining doubt is regarding the queryinterface in vb. Just give me ur email id i will send you a sample with an ATL com and a vb client which queryinterfaces for remaining Interfaces in the CoClass. It will clear all ur doubts. Yes. It doesn't matter how we aquired the interface pointer, it is possible to Queryintface for the remaining Interfaces in the same coclass. That is the way com impliment an interface. Did you forget the fact that, all com interface should be derived from IUnknown and IUnknown contains the QuryInterface() method to get the remaining interfaces of the same object. Thanks for the compliments, it was nice to talk with you. rgds..mil10