The C++ framework for developing highly scalable, high performance servers on Windows platforms.

CSharedMemoryMutexPerformanceDataBlock Class Reference

Inheritance diagram for CSharedMemoryMutexPerformanceDataBlock:
Collaboration diagram for CSharedMemoryMutexPerformanceDataBlock:

List of all members.

Public Types

enum  AllocationDisposition { ConnectedExisting, CreatedNew }

Public Member Functions

 CSharedMemoryMutexPerformanceDataBlock (const JetByteTools::Win32::IKernelObjectName &name, const CPerformanceDataSchema &schema, DWORD firstCounterIndex, SECURITY_ATTRIBUTES *pSecurityAttributes=nullptr)
 CSharedMemoryMutexPerformanceDataBlock (const CSharedMemoryMutexPerformanceDataBlock &rhs)
CSharedMemoryMutexPerformanceDataBlockoperator= (const CSharedMemoryMutexPerformanceDataBlock &rhs)
JetByteTools::Core::ILockableObjectGetLock () override
const BYTEGetObjectDefinitions () const override
const BYTEGetCounterData () const override
LONG GetNumberOfInstancesAllocated (const PERF_OBJECT_TYPE *pObject) const override
LONG AllocateObjectInstance (const PERF_OBJECT_TYPE *pObject, const JetByteTools::Core::_tstring &instanceName, LONG parentInstanceId, AllocationDisposition &allocationDisposition) override
LONG AllocateObjectInstance (const PERF_OBJECT_TYPE *pObject, LONG instanceId, AllocationDisposition &allocationDisposition) override
LONG AllocateChildObjectInstance (const PERF_OBJECT_TYPE *pObject, const JetByteTools::Core::_tstring &instanceName, const PERF_OBJECT_TYPE *pParentObject, LONG parentInstanceId, AllocationDisposition &allocationDisposition) override
LONG AllocateChildObjectInstance (const PERF_OBJECT_TYPE *pObject, LONG instanceId, const PERF_OBJECT_TYPE *pParentObject, LONG parentInstanceId, AllocationDisposition &allocationDisposition) override
void ReleaseObjectInstance (const PERF_OBJECT_TYPE *pObject, LONG instanceId) override

Static Public Member Functions

static bool CheckTokenPrivileges (bool isGlobalName, SECURITY_ATTRIBUTES *pSecurityAttributes)
static DWORD CalculateSizeOfMemoryRequired (const CPerformanceDataSchema &schema)

Protected Member Functions

void InitialiseMemory (const CPerformanceDataSchema &schema, DWORD firstCounterIndex, void *pMemoryBlock)

Static Protected Member Functions

static
SECURITY_ATTRIBUTES
ValidateTokenPrivileges (bool isGlobalName, SECURITY_ATTRIBUTES *pSecurityAttributes)


Member Enumeration Documentation

enum AllocationDisposition [inherited]

Enumerator:
ConnectedExisting 
CreatedNew 


Constructor & Destructor Documentation

CSharedMemoryMutexPerformanceDataBlock ( const JetByteTools::Win32::IKernelObjectName name,
const CPerformanceDataSchema schema,
DWORD  firstCounterIndex,
SECURITY_ATTRIBUTES pSecurityAttributes = nullptr 
)


Member Function Documentation

bool CheckTokenPrivileges ( bool  isGlobalName,
SECURITY_ATTRIBUTES pSecurityAttributes 
) [static, inherited]

SECURITY_ATTRIBUTES * ValidateTokenPrivileges ( bool  isGlobalName,
SECURITY_ATTRIBUTES pSecurityAttributes 
) [static, protected, inherited]

DWORD CalculateSizeOfMemoryRequired ( const CPerformanceDataSchema schema  )  [static, inherited]

ILockableObject & GetLock (  )  [override, virtual, inherited]

Implements IPerformanceDataBlock.

const BYTE * GetObjectDefinitions (  )  const [override, virtual, inherited]

Implements IPerformanceDataBlock.

const BYTE * GetCounterData (  )  const [override, virtual, inherited]

Implements IPerformanceDataBlock.

LONG GetNumberOfInstancesAllocated ( const PERF_OBJECT_TYPE *  pObject  )  const [override, virtual, inherited]

Implements IPerformanceDataBlock.

LONG AllocateObjectInstance ( const PERF_OBJECT_TYPE *  pObject,
const JetByteTools::Core::_tstring instanceName,
LONG  parentInstanceId,
AllocationDisposition allocationDisposition 
) [override, virtual, inherited]

Implements IPerformanceDataBlock.

LONG AllocateObjectInstance ( const PERF_OBJECT_TYPE *  pObject,
LONG  instanceId,
AllocationDisposition allocationDisposition 
) [override, virtual, inherited]

Implements IPerformanceDataBlock.

LONG AllocateChildObjectInstance ( const PERF_OBJECT_TYPE *  pObject,
const JetByteTools::Core::_tstring instanceName,
const PERF_OBJECT_TYPE *  pParentObject,
LONG  parentInstanceId,
AllocationDisposition allocationDisposition 
) [override, virtual, inherited]

Implements IPerformanceDataBlock.

LONG AllocateChildObjectInstance ( const PERF_OBJECT_TYPE *  pObject,
LONG  instanceId,
const PERF_OBJECT_TYPE *  pParentObject,
LONG  parentInstanceId,
AllocationDisposition allocationDisposition 
) [override, virtual, inherited]

Implements IPerformanceDataBlock.

void ReleaseObjectInstance ( const PERF_OBJECT_TYPE *  pObject,
LONG  instanceId 
) [override, virtual, inherited]

Implements IPerformanceDataBlock.

void InitialiseMemory ( const CPerformanceDataSchema schema,
DWORD  firstCounterIndex,
void *  pMemoryBlock 
) [protected, inherited]


Generated on Sun Sep 12 19:09:53 2021 for The Server Framework - v7.4 by doxygen 1.5.3