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

/*==========================================================================
*
* Copyright (C) 2000-2002 Microsoft Corporation. All Rights Reserved.
*
* File: Pools.h
* Content: DirectNet Fixed Pools
*@@BEGIN_MSINTERNAL
* History:
* Date By Reason
* ==== == ======
* 01/15/00 mjn Created
* 01/19/00 mjn Added SyncEventNew()
* 02/29/00 mjn Added ConnectionNew()
* 03/02/00 mjn Added GroupConnectionNew()
* 04/08/00 mjn Added AsyncOpNew()
* 07/30/00 mjn Added PendingDeletionNew()
* 07/31/00 mjn Added QueuedMsgNew()
* 08/06/00 mjn Added CWorkerJob
* 08/23/00 mjn Added CNameTableOp
*@@END_MSINTERNAL
*
***************************************************************************/
#ifndef __POOLS_H__
#define __POOLS_H__
//**********************************************************************
// Constant definitions
//**********************************************************************
//**********************************************************************
// Macro definitions
//**********************************************************************
//**********************************************************************
// Structure definitions
//**********************************************************************
class CRefCountBuffer;
class CSyncEvent;
class CConnection;
class CGroupConnection;
class CGroupMember;
class CNameTableEntry;
class CAsyncOp;
class CPendingDeletion;
class CQueuedMsg;
class CWorkerJob;
//**********************************************************************
// Variable definitions
//**********************************************************************
//**********************************************************************
// Function prototypes
//**********************************************************************
// DirectNet - Fixed Pools
HRESULT RefCountBufferNew(DIRECTNETOBJECT *const pdnObject,
const DWORD dwBufferSize,
PFNALLOC_REFCOUNT_BUFFER pfnAlloc,
PFNFREE_REFCOUNT_BUFFER pfnFree,
CRefCountBuffer **const ppNewRefCountBuffer);
HRESULT SyncEventNew(DIRECTNETOBJECT *const pdnObject,
CSyncEvent **const ppNewSyncEvent);
HRESULT ConnectionNew(DIRECTNETOBJECT *const pdnObject,
CConnection **const ppNewConnection);
HRESULT GroupConnectionNew(DIRECTNETOBJECT *const pdnObject,
CGroupConnection **const ppNewGroupConnection);
HRESULT GroupMemberNew(DIRECTNETOBJECT *const pdnObject,
CGroupMember **const ppNewGroupMember);
HRESULT NameTableEntryNew(DIRECTNETOBJECT *const pdnObject,
CNameTableEntry **const ppNewNameTableEntry);
HRESULT AsyncOpNew(DIRECTNETOBJECT *const pdnObject,
CAsyncOp **const ppNewAsyncOp);
HRESULT PendingDeletionNew(DIRECTNETOBJECT *const pdnObject,
CPendingDeletion **const ppNewPendingDeletion);
HRESULT QueuedMsgNew(DIRECTNETOBJECT *const pdnObject,
CQueuedMsg **const ppNewQueuedMsg);
HRESULT WorkerJobNew(DIRECTNETOBJECT *const pdnObject,
CWorkerJob **const ppNewWorkerJob);
HRESULT NameTableOpNew(DIRECTNETOBJECT *const pdnObject,
CNameTableOp **const ppNewNameTableOp);
#ifdef DPNBUILD_PREALLOCATEDMEMORYMODEL
PVOID EnumReplyMemoryBlockAlloc(void *const pvContext,
const DWORD dwSize);
void EnumReplyMemoryBlockFree(void *const pvContext,
void *const pvMemoryBlock);
HRESULT DN_PopulateCorePools( DIRECTNETOBJECT *const pdnObject,
const XDP8CREATE_PARAMS * const pDP8CreateParams );
#else // ! DPNBUILD_PREALLOCATEDMEMORYMODEL
#define EnumReplyMemoryBlockAlloc MemoryBlockAlloc
#define EnumReplyMemoryBlockFree MemoryBlockFree
#endif // ! DPNBUILD_PREALLOCATEDMEMORYMODEL
#endif // __POOLS_H__