Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.9 KiB

  1. // cobjps.h - definitions for writing standard proxies and stubs
  2. #if !defined( _COBJPS_H_ )
  3. #define _COBJPS_H_
  4. /****** IRpcChannel Interface ***********************************************/
  5. interface IRpcChannel : IUnknown
  6. {
  7. STDMETHOD(GetStream)(REFIID iid, int iMethod, BOOL fSend,
  8. BOOL fNoWait, DWORD size, IStream FAR* FAR* ppIStream) = 0;
  9. STDMETHOD(Call)(IStream FAR* pIStream) = 0;
  10. STDMETHOD(GetDestCtx)(DWORD FAR* lpdwDestCtx, LPVOID FAR* lplpvDestCtx) = 0;
  11. STDMETHOD(IsConnected)(void) = 0;
  12. };
  13. /****** IRpcProxy Interface *************************************************/
  14. // IRpcProxy is an interface implemented by proxy objects. A proxy object has
  15. // exactly the same interfaces as the real object in addition to IRpcProxy.
  16. //
  17. interface IRpcProxy : IUnknown
  18. {
  19. STDMETHOD(Connect)(IRpcChannel FAR* pRpcChannel) = 0;
  20. STDMETHOD_(void, Disconnect)(void) = 0;
  21. };
  22. /****** IRpcStub Interface **************************************************/
  23. // IRpcStub is an interface implemented by stub objects.
  24. //
  25. interface IRpcStub : IUnknown
  26. {
  27. STDMETHOD(Connect)(IUnknown FAR* pUnk) = 0;
  28. STDMETHOD_(void, Disconnect)(void) = 0;
  29. STDMETHOD(Invoke)(REFIID iid, int iMethod, IStream FAR* pIStream,
  30. DWORD dwDestCtx, LPVOID lpvDestCtx) = 0;
  31. STDMETHOD_(BOOL, IsIIDSupported)(REFIID iid) = 0;
  32. STDMETHOD_(ULONG, CountRefs)(void) = 0;
  33. };
  34. /****** IPSFactory Interface ************************************************/
  35. // IPSFactory - creates proxies and stubs
  36. //
  37. interface IPSFactory : IUnknown
  38. {
  39. STDMETHOD(CreateProxy)(IUnknown FAR* pUnkOuter, REFIID riid,
  40. IRpcProxy FAR* FAR* ppProxy, void FAR* FAR* ppv) = 0;
  41. STDMETHOD(CreateStub)(REFIID riid, IUnknown FAR* pUnkServer,
  42. IRpcStub FAR* FAR* ppStub) = 0;
  43. };
  44. #endif // _COBJPS_H_