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.

109 lines
3.0 KiB

  1. //+--------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1992.
  5. //
  6. // File: marshl.hxx
  7. //
  8. // Contents: Marshal/Unmarshal header
  9. //
  10. // History: 04-May-92 DrewB Created
  11. //
  12. //---------------------------------------------------------------
  13. #ifndef __MARSHL_HXX__
  14. #define __MARSHL_HXX__
  15. #include <dfmsp.hxx>
  16. #include <privguid.h>
  17. class CPerContext;
  18. #ifdef ASYNC
  19. class CAsyncConnection;
  20. interface IDocfileAsyncConnectionPoint;
  21. #endif
  22. SCODE VerifyIid(REFIID iid, REFIID iidObj);
  23. SCODE GetStdMarshalSize(REFIID iid,
  24. REFIID iidObj,
  25. DWORD dwDestContext,
  26. LPVOID pvDestContext,
  27. DWORD mshlflags,
  28. DWORD *pcbSize,
  29. DWORD cbSize,
  30. #ifdef ASYNC
  31. CAsyncConnection *pcpoint,
  32. BOOL fMarshalILBs,
  33. #endif
  34. CPerContext *ppc,
  35. BOOL const fMarshalOriginal);
  36. SCODE StartMarshal(IStream *pstStm,
  37. REFIID iid,
  38. REFIID iidObj,
  39. DWORD mshlflags);
  40. SCODE MarshalPointer(IStream *pstm,
  41. void *pv);
  42. SCODE MarshalContext(IStream *pstm,
  43. CPerContext *ppc,
  44. DWORD dwDestContext,
  45. LPVOID pvDestContext,
  46. DWORD mshlflags,
  47. #ifdef ASYNC
  48. BOOL const fMarshalILBs,
  49. #endif
  50. BOOL const fMarshalOriginal);
  51. #ifdef ASYNC
  52. SCODE MarshalConnection(IStream *pstm,
  53. CAsyncConnection *pcpoint,
  54. DWORD dwDestContext,
  55. LPVOID pvDestContext,
  56. DWORD mshlflags);
  57. #endif
  58. SCODE UnmarshalPointer(IStream *pstm,
  59. void **ppv);
  60. SCODE UnmarshalContext(IStream *pstm,
  61. CGlobalContext *pgc,
  62. CPerContext **pppc,
  63. DWORD mshlflags,
  64. #ifdef ASYNC
  65. BOOL const fUnmarshalILBs,
  66. #endif
  67. BOOL const fUnmarshalOriginal,
  68. #ifdef MULTIHEAP
  69. ContextId cntxid,
  70. #endif
  71. BOOL const fIsRoot);
  72. #ifdef ASYNC
  73. SCODE UnmarshalConnection(IStream *pstm,
  74. DWORD *pdwAsyncFlags,
  75. IDocfileAsyncConnectionPoint **ppdacp,
  76. DWORD mshlflags);
  77. #endif
  78. SCODE SkipStdMarshal(IStream *pstStm, IID *piid, DWORD *pmshlflags);
  79. SCODE ReleaseContext(IStream *pstm,
  80. #ifdef ASYNC
  81. BOOL const fUnmarshalILBs,
  82. #endif
  83. BOOL const fHasOriginal,
  84. DWORD mshlflags);
  85. #ifdef ASYNC
  86. SCODE ReleaseConnection(IStream *pstm,
  87. DWORD mshlflags);
  88. #endif
  89. #ifdef MULTIHEAP
  90. SCODE UnmarshalSharedMemory (IStream *pstStm, DWORD mshlflags,
  91. CPerContext *ppcOwner, ContextId *pcntxid);
  92. SCODE MarshalSharedMemory (IStream *ptm, CPerContext *ppc);
  93. SCODE SkipSharedMemory (IStream *pstStm, DWORD mshlflags);
  94. #endif
  95. #define MSHLFLAGS_STG_WIN64 0x80000000L
  96. #endif // #ifndef __MARSHL_HXX__