|
|
1.1 ! root 1: // cobjps.h - definitions for writing standard proxies and stubs ! 2: ! 3: #if !defined( _COBJPS_H_ ) ! 4: #define _COBJPS_H_ ! 5: ! 6: ! 7: /****** IRpcChannel Interface ***********************************************/ ! 8: ! 9: interface IRpcChannel : IUnknown ! 10: { ! 11: STDMETHOD(GetStream)(REFIID iid, int iMethod, BOOL fSend, ! 12: BOOL fNoWait, DWORD size, IStream FAR* FAR* ppIStream) = 0; ! 13: STDMETHOD(Call)(IStream FAR* pIStream) = 0; ! 14: STDMETHOD(GetDestCtx)(DWORD FAR* lpdwDestCtx, LPVOID FAR* lplpvDestCtx) = 0; ! 15: STDMETHOD(IsConnected)(void) = 0; ! 16: }; ! 17: ! 18: ! 19: /****** IRpcProxy Interface *************************************************/ ! 20: ! 21: // IRpcProxy is an interface implemented by proxy objects. A proxy object has ! 22: // exactly the same interfaces as the real object in addition to IRpcProxy. ! 23: // ! 24: ! 25: interface IRpcProxy : IUnknown ! 26: { ! 27: STDMETHOD(Connect)(IRpcChannel FAR* pRpcChannel) = 0; ! 28: STDMETHOD_(void, Disconnect)(void) = 0; ! 29: }; ! 30: ! 31: ! 32: /****** IRpcStub Interface **************************************************/ ! 33: ! 34: // IRpcStub is an interface implemented by stub objects. ! 35: // ! 36: ! 37: interface IRpcStub : IUnknown ! 38: { ! 39: STDMETHOD(Connect)(IUnknown FAR* pUnk) = 0; ! 40: STDMETHOD_(void, Disconnect)(void) = 0; ! 41: STDMETHOD(Invoke)(REFIID iid, int iMethod, IStream FAR* pIStream, ! 42: DWORD dwDestCtx, LPVOID lpvDestCtx) = 0; ! 43: STDMETHOD_(BOOL, IsIIDSupported)(REFIID iid) = 0; ! 44: #ifdef OLE2SHIP ! 45: STDMETHOD_(ULONG, CountRefs)(void) = 0; ! 46: #endif ! 47: }; ! 48: ! 49: ! 50: /****** IPSFactory Interface ************************************************/ ! 51: ! 52: // IPSFactory - creates proxies and stubs ! 53: // ! 54: ! 55: interface IPSFactory : IUnknown ! 56: { ! 57: STDMETHOD(CreateProxy)(IUnknown FAR* pUnkOuter, REFIID riid, ! 58: IRpcProxy FAR* FAR* ppProxy, void FAR* FAR* ppv) = 0; ! 59: STDMETHOD(CreateStub)(REFIID riid, IUnknown FAR* pUnkServer, ! 60: IRpcStub FAR* FAR* ppStub) = 0; ! 61: }; ! 62: ! 63: #endif // _COBJPS_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.