Source code of Windows XP (NT5)
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.

86 lines
2.1 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1992.
  5. //
  6. // File: crpc.hxx
  7. //
  8. // Contents: test basice rpc method calls
  9. //
  10. // Classes: CRpcTest
  11. //
  12. // History: 06-Aug-92 Ricksa Created
  13. //
  14. //--------------------------------------------------------------------------
  15. #ifndef __RPCTEST__
  16. #define __RPCTEST__
  17. #include <otrack.hxx>
  18. #include <rpctst.h> // interface definition
  19. //+-------------------------------------------------------------------------
  20. //
  21. // Class: CRpcTest
  22. //
  23. // Purpose: Class to demostrate remote binding functionality
  24. //
  25. // Interface: QueryInterface
  26. // AddRef
  27. // Release
  28. //
  29. // History: 06-Aug-92 Ricksa Created
  30. //
  31. //--------------------------------------------------------------------------
  32. class CRpcTest : INHERIT_TRACKING,
  33. public IRpcTest
  34. {
  35. public:
  36. CRpcTest(void);
  37. STDMETHOD(QueryInterface)(REFIID riid, void **ppunk);
  38. DECLARE_STD_REFCOUNTING;
  39. // IRpcTest methods
  40. STDMETHOD(Void) (void);
  41. STDMETHOD(VoidRC) (void);
  42. STDMETHOD(VoidPtrIn)(ULONG cb, BYTE *pv);
  43. STDMETHOD(VoidPtrOut)(ULONG cb, ULONG *pcb, BYTE *pv);
  44. STDMETHOD(DwordIn) (DWORD dw);
  45. STDMETHOD(DwordOut) (DWORD *pdw);
  46. STDMETHOD(DwordInOut) (DWORD *pdw);
  47. STDMETHOD(LiIn)(LARGE_INTEGER li);
  48. STDMETHOD(LiOut)(LARGE_INTEGER *pli);
  49. STDMETHOD(ULiIn)(ULARGE_INTEGER uli);
  50. STDMETHOD(ULiOut)(ULARGE_INTEGER *puli);
  51. STDMETHOD(StringIn) (LPOLESTR pwsz);
  52. STDMETHOD(StringOut) (LPOLESTR *ppwsz);
  53. STDMETHOD(StringInOut) (LPOLESTR pwsz);
  54. STDMETHOD(GuidIn)(GUID guid);
  55. STDMETHOD(GuidOut)(GUID *pguid);
  56. STDMETHOD(IUnknownIn) (IUnknown *punk);
  57. STDMETHOD(IUnknownOut) (IUnknown **ppunk);
  58. STDMETHOD(IUnknownInKeep) (IUnknown *punk);
  59. STDMETHOD(IUnknownInRelease) (void);
  60. STDMETHOD(IUnknownOutKeep) (IUnknown **ppunk);
  61. STDMETHOD(InterfaceIn)(REFIID riid, IUnknown *punk);
  62. STDMETHOD(InterfaceOut)(REFIID riid, IUnknown **ppunk);
  63. private:
  64. ~CRpcTest(void);
  65. IUnknown *_punkIn;
  66. };
  67. #endif // __RPCTEST__