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.

123 lines
2.6 KiB

  1. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. Copyright <c> 1993 Microsoft Corporation
  3. Module Name :
  4. unmrshlp.h
  5. Abtract :
  6. Contains private definitions for unmrshl.c.
  7. Author :
  8. David Kays dkays September 1993
  9. Revision History :
  10. --------------------------------------------------------------------*/
  11. #ifndef _UNMRSHLP_
  12. #define _UNMRSHLP_
  13. void
  14. NdrpPointerUnmarshall(
  15. PMIDL_STUB_MESSAGE pStubMsg,
  16. uchar ** ppMemory, // Where allocated pointer is written
  17. uchar * pMemory,
  18. long * pBufferPointer, // Pointer to the wire rep.
  19. PFORMAT_STRING pFormat );
  20. void
  21. NdrpConformantArrayUnmarshall(
  22. PMIDL_STUB_MESSAGE pStubMsg,
  23. uchar ** pMemory,
  24. PFORMAT_STRING pFormat,
  25. uchar fMustCopy ,
  26. uchar fMustAlloc
  27. );
  28. void
  29. NdrpConformantVaryingArrayUnmarshall(
  30. PMIDL_STUB_MESSAGE pStubMsg,
  31. uchar ** pMemory,
  32. PFORMAT_STRING pFormat,
  33. uchar fMustCopy,
  34. uchar fMustAlloc
  35. );
  36. void
  37. NdrpComplexArrayUnmarshall(
  38. PMIDL_STUB_MESSAGE pStubMsg,
  39. uchar ** pMemory,
  40. PFORMAT_STRING pFormat,
  41. uchar fMustCopy,
  42. uchar fMustAlloc
  43. );
  44. void
  45. NdrpConformantStringUnmarshall(
  46. PMIDL_STUB_MESSAGE pStubMsg,
  47. uchar ** pMemory,
  48. PFORMAT_STRING pFormat,
  49. uchar fMustCopy ,
  50. uchar fMustAlloc
  51. );
  52. void
  53. NdrpUnionUnmarshall(
  54. PMIDL_STUB_MESSAGE pStubMsg,
  55. uchar ** ppMemory,
  56. PFORMAT_STRING pFormat,
  57. uchar SwitchType,
  58. PFORMAT_STRING pNonEncUnion
  59. );
  60. PFORMAT_STRING
  61. NdrpEmbeddedPointerUnmarshall(
  62. PMIDL_STUB_MESSAGE pStubMsg,
  63. uchar * pMemory,
  64. PFORMAT_STRING pFormat,
  65. uchar fNewMemory
  66. );
  67. PFORMAT_STRING
  68. NdrpEmbeddedRepeatPointerUnmarshall(
  69. PMIDL_STUB_MESSAGE pStubMsg,
  70. uchar * pMemory,
  71. PFORMAT_STRING pFormat,
  72. uchar fNewMemory
  73. );
  74. #define FULL_POINTER_INSERT( pStubMsg, Pointer ) \
  75. { \
  76. NdrFullPointerInsertRefId( pStubMsg->FullPtrXlatTables, \
  77. pStubMsg->FullPtrRefId, \
  78. Pointer ); \
  79. \
  80. pStubMsg->FullPtrRefId = 0; \
  81. }
  82. typedef uchar * (RPC_ENTRY * PUNMARSHALL_ROUTINE)(
  83. PMIDL_STUB_MESSAGE,
  84. uchar **,
  85. PFORMAT_STRING,
  86. uchar
  87. );
  88. typedef void (* PPRIVATE_UNMARSHALL_ROUTINE)(
  89. PMIDL_STUB_MESSAGE,
  90. uchar **,
  91. PFORMAT_STRING,
  92. uchar,
  93. uchar
  94. );
  95. //
  96. // Function table defined in unmrshl.c.
  97. //
  98. IMPORTSPEC
  99. extern const PUNMARSHALL_ROUTINE * pfnUnmarshallRoutines;
  100. #endif