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.

115 lines
3.7 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 2000-2002 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: Pools.h
  6. * Content: DirectNet Fixed Pools
  7. *@@BEGIN_MSINTERNAL
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 01/15/00 mjn Created
  12. * 01/19/00 mjn Added SyncEventNew()
  13. * 02/29/00 mjn Added ConnectionNew()
  14. * 03/02/00 mjn Added GroupConnectionNew()
  15. * 04/08/00 mjn Added AsyncOpNew()
  16. * 07/30/00 mjn Added PendingDeletionNew()
  17. * 07/31/00 mjn Added QueuedMsgNew()
  18. * 08/06/00 mjn Added CWorkerJob
  19. * 08/23/00 mjn Added CNameTableOp
  20. *@@END_MSINTERNAL
  21. *
  22. ***************************************************************************/
  23. #ifndef __POOLS_H__
  24. #define __POOLS_H__
  25. //**********************************************************************
  26. // Constant definitions
  27. //**********************************************************************
  28. //**********************************************************************
  29. // Macro definitions
  30. //**********************************************************************
  31. //**********************************************************************
  32. // Structure definitions
  33. //**********************************************************************
  34. class CRefCountBuffer;
  35. class CSyncEvent;
  36. class CConnection;
  37. class CGroupConnection;
  38. class CGroupMember;
  39. class CNameTableEntry;
  40. class CAsyncOp;
  41. class CPendingDeletion;
  42. class CQueuedMsg;
  43. class CWorkerJob;
  44. //**********************************************************************
  45. // Variable definitions
  46. //**********************************************************************
  47. //**********************************************************************
  48. // Function prototypes
  49. //**********************************************************************
  50. // DirectNet - Fixed Pools
  51. HRESULT RefCountBufferNew(DIRECTNETOBJECT *const pdnObject,
  52. const DWORD dwBufferSize,
  53. PFNALLOC_REFCOUNT_BUFFER pfnAlloc,
  54. PFNFREE_REFCOUNT_BUFFER pfnFree,
  55. CRefCountBuffer **const ppNewRefCountBuffer);
  56. HRESULT SyncEventNew(DIRECTNETOBJECT *const pdnObject,
  57. CSyncEvent **const ppNewSyncEvent);
  58. HRESULT ConnectionNew(DIRECTNETOBJECT *const pdnObject,
  59. CConnection **const ppNewConnection);
  60. HRESULT GroupConnectionNew(DIRECTNETOBJECT *const pdnObject,
  61. CGroupConnection **const ppNewGroupConnection);
  62. HRESULT GroupMemberNew(DIRECTNETOBJECT *const pdnObject,
  63. CGroupMember **const ppNewGroupMember);
  64. HRESULT NameTableEntryNew(DIRECTNETOBJECT *const pdnObject,
  65. CNameTableEntry **const ppNewNameTableEntry);
  66. HRESULT AsyncOpNew(DIRECTNETOBJECT *const pdnObject,
  67. CAsyncOp **const ppNewAsyncOp);
  68. HRESULT PendingDeletionNew(DIRECTNETOBJECT *const pdnObject,
  69. CPendingDeletion **const ppNewPendingDeletion);
  70. HRESULT QueuedMsgNew(DIRECTNETOBJECT *const pdnObject,
  71. CQueuedMsg **const ppNewQueuedMsg);
  72. HRESULT WorkerJobNew(DIRECTNETOBJECT *const pdnObject,
  73. CWorkerJob **const ppNewWorkerJob);
  74. HRESULT NameTableOpNew(DIRECTNETOBJECT *const pdnObject,
  75. CNameTableOp **const ppNewNameTableOp);
  76. #ifdef DPNBUILD_PREALLOCATEDMEMORYMODEL
  77. PVOID EnumReplyMemoryBlockAlloc(void *const pvContext,
  78. const DWORD dwSize);
  79. void EnumReplyMemoryBlockFree(void *const pvContext,
  80. void *const pvMemoryBlock);
  81. HRESULT DN_PopulateCorePools( DIRECTNETOBJECT *const pdnObject,
  82. const XDP8CREATE_PARAMS * const pDP8CreateParams );
  83. #else // ! DPNBUILD_PREALLOCATEDMEMORYMODEL
  84. #define EnumReplyMemoryBlockAlloc MemoryBlockAlloc
  85. #define EnumReplyMemoryBlockFree MemoryBlockFree
  86. #endif // ! DPNBUILD_PREALLOCATEDMEMORYMODEL
  87. #endif // __POOLS_H__