201039 PDK_4.0.a
authorhgs
Wed, 29 Sep 2010 17:45:35 +0300
changeset 54 a151135b0cf9
parent 53 d47c6de21a88
child 56 aa2539c91954
201039
perfsrv/memspy/CommandLine/Source/MemSpyCommandLine.cpp
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverDevice.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverEventMonitor.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverHeap.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverInspectedProcess.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverInspectedProcessManager.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverLogicalChannel.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverOSAdaption.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverSuspensionManager.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverUserEventMonitor.h
perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverXferBuffer.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanBase.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanChunks.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanClientServer.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanCodeSegs.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanContainerBase.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanContainers.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapBase.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataBase.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataKernel.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataUser.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapWalkUser.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanMisc.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanProcessInspection.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanRawMemory.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanStack.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanThreadAndProcess.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanUserEventMonitor.h
perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp
perfsrv/memspy/Driver/Shared/heaputils.h
perfsrv/memspy/Driver/eabi/memspydriveru.def
perfsrv/memspy/Driver/group/MemSpyDriver.mmp
perfsrv/memspy/Engine/Source/Helpers/MemSpyEngineHelperHeap.cpp
perfsrv/memspy/MemSpyClient/bwins/MemSpyClientu.def
perfsrv/memspy/MemSpyClient/eabi/MemSpyClientu.def
perfsrv/memspy/MemSpyClient/inc/memspysession.h
perfsrv/memspy/MemSpyClient/src/memspysession.cpp
perfsrv/memspy/group/ReleaseNotes_MemSpy.txt
--- a/perfsrv/memspy/CommandLine/Source/MemSpyCommandLine.cpp	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/CommandLine/Source/MemSpyCommandLine.cpp	Wed Sep 29 17:45:35 2010 +0300
@@ -71,7 +71,7 @@
 	const TInt count = aCommandLine.Count();
 	TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - START - arg count: %d, this: 0x%08x", count, this ) );
 
-	if (count >= 1)
+	if (count > 1)
 		{
 		// Get main command
 		TBuf<KMemSpyCommandLineMaxLength> command;
@@ -92,6 +92,10 @@
 		// Tidy up
 		CleanupStack::PopAndDestroy(args);
 		}
+	else if ( count == 1 )
+		{
+		TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - nno commands and parameters set" ) );
+		}
 	else
 		{
 		User::Leave(KErrUnderflow);
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverDevice.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverDevice.h	Wed Sep 29 17:45:35 2010 +0300
@@ -27,7 +27,7 @@
 class DMemSpySuspensionManager;
 class DMemSpyInspectedProcessManager;
 
-class DMemSpyDriverDevice : public DLogicalDevice
+NONSHARABLE_CLASS(DMemSpyDriverDevice) : public DLogicalDevice
 	{
 public:
 	DMemSpyDriverDevice();
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverEventMonitor.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverEventMonitor.h	Wed Sep 29 17:45:35 2010 +0300
@@ -67,7 +67,7 @@
 
 
 
-class DMemSpyEventMonitor : public DKernelEventHandler
+NONSHARABLE_CLASS(DMemSpyEventMonitor) : public DKernelEventHandler
 	{
 public:
 	DMemSpyEventMonitor();
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverHeap.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverHeap.h	Wed Sep 29 17:45:35 2010 +0300
@@ -43,7 +43,7 @@
 /**
  * Essentially a mirror of RAllocator and RHeap's layout.
  */
-class RMemSpyDriverRHeapBase
+NONSHARABLE_CLASS(RMemSpyDriverRHeapBase)
 	{
 protected:
     RMemSpyDriverRHeapBase();
@@ -64,7 +64,7 @@
 	LtkUtils::RAllocatorHelper* iHelper;
     };
 
-class RMemSpyDriverRHeapUser : public RMemSpyDriverRHeapBase
+NONSHARABLE_CLASS(RMemSpyDriverRHeapUser) : public RMemSpyDriverRHeapBase
 	{
 public:
     RMemSpyDriverRHeapUser( DMemSpyDriverOSAdaption& aOSAdaption );
@@ -84,7 +84,7 @@
     };
 
 
-class RMemSpyDriverRHeapKernelFromCopy : public RMemSpyDriverRHeapBase
+NONSHARABLE_CLASS(RMemSpyDriverRHeapKernelFromCopy) : public RMemSpyDriverRHeapBase
     {
 public:
     RMemSpyDriverRHeapKernelFromCopy( DMemSpyDriverOSAdaption& aOSAdaption );
@@ -113,7 +113,7 @@
     };
 
 
-class RMemSpyDriverRHeapKernelInPlace : public RMemSpyDriverRHeapBase
+NONSHARABLE_CLASS(RMemSpyDriverRHeapKernelInPlace) : public RMemSpyDriverRHeapBase
     {
 public:
     RMemSpyDriverRHeapKernelInPlace( DMemSpyDriverOSAdaption& aOSAdaption );
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverInspectedProcess.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverInspectedProcess.h	Wed Sep 29 17:45:35 2010 +0300
@@ -83,7 +83,7 @@
 
 
 
-class DMemSpyInspectedProcess : public DBase, public MMemSpyEventMonitorObserver
+NONSHARABLE_CLASS(DMemSpyInspectedProcess) : public DBase, public MMemSpyEventMonitorObserver
     {
 public: // Construct / destruct
 	DMemSpyInspectedProcess( DMemSpyDriverDevice& aDevice );
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverInspectedProcessManager.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverInspectedProcessManager.h	Wed Sep 29 17:45:35 2010 +0300
@@ -30,7 +30,7 @@
 class DMemSpyInspectedProcess;
 
 
-class DMemSpyInspectedProcessManager : public DObject, public MMemSpyEventMonitorObserver
+NONSHARABLE_CLASS(DMemSpyInspectedProcessManager) : public DObject, public MMemSpyEventMonitorObserver
 	{
 public:
 	DMemSpyInspectedProcessManager();
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverLogicalChannel.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverLogicalChannel.h	Wed Sep 29 17:45:35 2010 +0300
@@ -27,7 +27,7 @@
 class DMemSpyDriverLogChanBase;
 
 
-class DMemSpyDriverLogicalChannel : public DLogicalChannelBase
+NONSHARABLE_CLASS(DMemSpyDriverLogicalChannel) : public DLogicalChannelBase
 	{
 public:
 	DMemSpyDriverLogicalChannel();
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverOSAdaption.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverOSAdaption.h	Wed Sep 29 17:45:35 2010 +0300
@@ -449,7 +449,7 @@
 
 
 
-class DMemSpyDriverOSAdaption : public DBase
+NONSHARABLE_CLASS(DMemSpyDriverOSAdaption) : public DBase
 	{
 public:
     DMemSpyDriverOSAdaption( DMemSpyDriverDevice& aDevice );
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverSuspensionManager.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverSuspensionManager.h	Wed Sep 29 17:45:35 2010 +0300
@@ -26,7 +26,7 @@
 class DMemSpyDriverDevice;
 
 
-class DMemSpySuspensionManager : public DBase
+NONSHARABLE_CLASS(DMemSpySuspensionManager) : public DBase
 	{
 public: // Construct & destruct
 	DMemSpySuspensionManager( DMemSpyDriverDevice& aDevice );
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverUserEventMonitor.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverUserEventMonitor.h	Wed Sep 29 17:45:35 2010 +0300
@@ -33,7 +33,7 @@
 class DMemSpyDriverClientEM;
 
 
-class DMemSpyDriverClientEMManager : public DBase
+NONSHARABLE_CLASS(DMemSpyDriverClientEMManager) : public DBase
     {
 public:
     DMemSpyDriverClientEMManager( DMemSpyDriverDevice& aDevice );
@@ -58,7 +58,7 @@
 /**
  * This class represents a client-originated Event Monitor request
  */
-class DMemSpyDriverClientEM : public DBase, public MMemSpyEventMonitorObserver
+NONSHARABLE_CLASS(DMemSpyDriverClientEM) : public DBase, public MMemSpyEventMonitorObserver
 	{
 public:
 	DMemSpyDriverClientEM( DMemSpyDriverDevice& aDevice, TUint aHandle );
--- a/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverXferBuffer.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverXferBuffer.h	Wed Sep 29 17:45:35 2010 +0300
@@ -26,7 +26,7 @@
 class DMemSpyDriverDevice;
 
 
-class DMemSpyDriverXferBuffer : public DBase
+NONSHARABLE_CLASS(DMemSpyDriverXferBuffer) : public DBase
 	{
     friend class RMemSpyMemStreamWriter;
 
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanBase.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanBase.h	Wed Sep 29 17:45:35 2010 +0300
@@ -34,7 +34,7 @@
 class DMemSpyDriverOSAdaption;
 class DMemSpySuspensionManager;
 
-class DMemSpyDriverLogChanBase : public DBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanBase) : public DBase
 	{
 public:
 	~DMemSpyDriverLogChanBase();
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanChunks.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanChunks.h	Wed Sep 29 17:45:35 2010 +0300
@@ -33,7 +33,7 @@
 class TMemSpyDriverInternalChunkHandleParams;
 
 
-class DMemSpyDriverLogChanChunks : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanChunks) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanChunks( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanClientServer.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanClientServer.h	Wed Sep 29 17:45:35 2010 +0300
@@ -32,7 +32,7 @@
 
 
 
-class DMemSpyDriverLogChanClientServer : public DMemSpyDriverLogChanContainerBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanClientServer) : public DMemSpyDriverLogChanContainerBase
 	{
 public:
 	DMemSpyDriverLogChanClientServer( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanCodeSegs.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanCodeSegs.h	Wed Sep 29 17:45:35 2010 +0300
@@ -31,7 +31,7 @@
 class TMemSpyDriverInternalCodeSnapshotParams;
 
 
-class DMemSpyDriverLogChanCodeSegs : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanCodeSegs) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanCodeSegs( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanContainerBase.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanContainerBase.h	Wed Sep 29 17:45:35 2010 +0300
@@ -33,7 +33,7 @@
 const TInt KMemSpyDriverMaxHandles = 1024 * 2;
 
 
-class DMemSpyDriverLogChanContainerBase : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanContainerBase) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanContainerBase( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanContainers.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanContainers.h	Wed Sep 29 17:45:35 2010 +0300
@@ -35,7 +35,7 @@
 class TMemSpyDriverCondVarSuspendedThreadInfo;
 
 
-class DMemSpyDriverLogChanContainers : public DMemSpyDriverLogChanContainerBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanContainers) : public DMemSpyDriverLogChanContainerBase
 	{
 public:
 	DMemSpyDriverLogChanContainers( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapBase.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapBase.h	Wed Sep 29 17:45:35 2010 +0300
@@ -38,7 +38,7 @@
 class RMemSpyDriverRHeapKernelFromCopy;
 
 
-class DMemSpyDriverLogChanHeapBase : public DMemSpyDriverLogChanBase, public MMemSpyHeapWalkerObserver
+NONSHARABLE_CLASS(DMemSpyDriverLogChanHeapBase) : public DMemSpyDriverLogChanBase, public MMemSpyHeapWalkerObserver
 	{
 public:
     enum TDrmMatchType
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataBase.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataBase.h	Wed Sep 29 17:45:35 2010 +0300
@@ -41,7 +41,7 @@
 
 const static TInt KPageSize = 4096;
 
-class DMemSpyDriverLogChanHeapDataBase : public DMemSpyDriverLogChanHeapBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanHeapDataBase) : public DMemSpyDriverLogChanHeapBase
 	{
 public:
 	DMemSpyDriverLogChanHeapDataBase( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataKernel.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataKernel.h	Wed Sep 29 17:45:35 2010 +0300
@@ -21,7 +21,7 @@
 // User includes
 #include "MemSpyDriverLogChanHeapDataBase.h"
 
-class DMemSpyDriverLogChanHeapDataKernel : public DMemSpyDriverLogChanHeapDataBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanHeapDataKernel) : public DMemSpyDriverLogChanHeapDataBase
 	{
 public:    
     DMemSpyDriverLogChanHeapDataKernel( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataUser.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapDataUser.h	Wed Sep 29 17:45:35 2010 +0300
@@ -21,7 +21,7 @@
 // User includes
 #include "MemSpyDriverLogChanHeapDataBase.h"
 
-class DMemSpyDriverLogChanHeapDataUser : public DMemSpyDriverLogChanHeapDataBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanHeapDataUser) : public DMemSpyDriverLogChanHeapDataBase
 	{
 public:
 	DMemSpyDriverLogChanHeapDataUser( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapWalkUser.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapWalkUser.h	Wed Sep 29 17:45:35 2010 +0300
@@ -39,7 +39,7 @@
 class TMemSpyDriverLogChanHeapWalkObserver;
 
 
-class DMemSpyDriverLogChanHeapWalkUser : public DMemSpyDriverLogChanHeapBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanHeapWalkUser) : public DMemSpyDriverLogChanHeapBase
 	{
 public:
 	DMemSpyDriverLogChanHeapWalkUser( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanMisc.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanMisc.h	Wed Sep 29 17:45:35 2010 +0300
@@ -29,7 +29,7 @@
 class DMemSpyDriverDevice;
 
 
-class DMemSpyDriverLogChanMisc : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanMisc) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanMisc( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanProcessInspection.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanProcessInspection.h	Wed Sep 29 17:45:35 2010 +0300
@@ -30,7 +30,7 @@
 class TMemSpyDriverProcessInspectionInfo;
 
 
-class DMemSpyDriverLogChanProcessInspection : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanProcessInspection) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanProcessInspection( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanRawMemory.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanRawMemory.h	Wed Sep 29 17:45:35 2010 +0300
@@ -30,7 +30,7 @@
 class TMemSpyDriverInternalReadMemParams;
 
 
-class DMemSpyDriverLogChanRawMemory : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanRawMemory) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanRawMemory( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanStack.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanStack.h	Wed Sep 29 17:45:35 2010 +0300
@@ -35,7 +35,7 @@
 
 
 
-class DMemSpyDriverLogChanStack : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanStack) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanStack( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanThreadAndProcess.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanThreadAndProcess.h	Wed Sep 29 17:45:35 2010 +0300
@@ -31,7 +31,7 @@
 class TMemSpyDriverInternalThreadInfoParams;
 
 
-class DMemSpyDriverLogChanThreadAndProcess : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanThreadAndProcess) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanThreadAndProcess( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanUserEventMonitor.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanUserEventMonitor.h	Wed Sep 29 17:45:35 2010 +0300
@@ -31,7 +31,7 @@
 class TMemSpyDriverInternalEventMonitorParams;
 
 
-class DMemSpyDriverLogChanUserEventMonitor : public DMemSpyDriverLogChanBase
+NONSHARABLE_CLASS(DMemSpyDriverLogChanUserEventMonitor) : public DMemSpyDriverLogChanBase
 	{
 public:
 	DMemSpyDriverLogChanUserEventMonitor( DMemSpyDriverDevice& aDevice, DThread& aThread );
--- a/perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Kernel/Source/MemSpyDriverStreamWriter.cpp	Wed Sep 29 17:45:35 2010 +0300
@@ -21,6 +21,13 @@
 #include "MemSpyDriverUtils.h"
 #include "MemSpyDriverXferBuffer.h"
 
+#if defined(__GCC32__)
+#define __RETURN_ADDRESS() __builtin_return_address(0)
+#elif defined (__ARMCC__)
+#define __RETURN_ADDRESS() ((TAny*)__return_address())
+#else
+#define __RETURN_ADDRESS() 0 // not supported
+#endif 
 
 
 RMemSpyMemStreamWriter::RMemSpyMemStreamWriter()
@@ -69,7 +76,7 @@
         }
     else
         {
-        //TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteInt32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __return_address() ) );
+        TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteInt32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __RETURN_ADDRESS() ) );
         }
     //
     return ret;
@@ -89,7 +96,7 @@
         }
     else
         {
-        //TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteUint32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __return_address() ) );
+        TRACE( Kern::Printf( "RMemSpyMemStreamWriter::WriteUint32() - asked to write: 0x%08x from fn: 0x%08x BUT AM FULL", aValue, __RETURN_ADDRESS() ) );
         }
     //
     return ret;
--- a/perfsrv/memspy/Driver/Shared/heaputils.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/Shared/heaputils.h	Wed Sep 29 17:45:35 2010 +0300
@@ -178,7 +178,7 @@
 
 #ifdef __KERNEL_MODE__
 
-class RUserAllocatorHelper : public RAllocatorHelper
+HUCLASS(RUserAllocatorHelper) : public RAllocatorHelper
     {
 public:
     RUserAllocatorHelper();
@@ -195,7 +195,7 @@
     DThread* iThread;
     };
 
-class RKernelCopyAllocatorHelper : public RAllocatorHelper
+HUCLASS(RKernelCopyAllocatorHelper) : public RAllocatorHelper
     {
 public:
     RKernelCopyAllocatorHelper();
@@ -215,7 +215,7 @@
 
 #else
 
-class RProxyAllocatorHelper : public RAllocatorHelper
+HUCLASS(RProxyAllocatorHelper) : public RAllocatorHelper
 	{
 public:
 	HUIMPORT_C RProxyAllocatorHelper();
--- a/perfsrv/memspy/Driver/eabi/memspydriveru.def	Mon Sep 27 14:07:59 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z19CreateLogicalDevicev @ 1 NONAME
-
--- a/perfsrv/memspy/Driver/group/MemSpyDriver.mmp	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Driver/group/MemSpyDriver.mmp	Wed Sep 29 17:45:35 2010 +0300
@@ -25,8 +25,6 @@
 VENDORID        VID_DEFAULT
 SMPSAFE
 
-NOEXPORTLIBRARY
-
 CAPABILITY      all
 
 SOURCEPATH      ../Kernel/Source
--- a/perfsrv/memspy/Engine/Source/Helpers/MemSpyEngineHelperHeap.cpp	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/Engine/Source/Helpers/MemSpyEngineHelperHeap.cpp	Wed Sep 29 17:45:35 2010 +0300
@@ -788,7 +788,7 @@
     OutputHeapDataKernelL( heapInfo, aCreateDataStream, &cells );
     
     CleanupStack::PopAndDestroy( &cells );
-    CleanupStack::PopAndDestroy( this );
+    CleanupStack::PopAndDestroy( this ); // runs CleanupHeapDataKernel
     }    
 
 void CMemSpyEngineHelperHeap::OutputHeapDataKernelL(const TMemSpyHeapInfo& aHeapInfo, 
--- a/perfsrv/memspy/MemSpyClient/bwins/MemSpyClientu.def	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/MemSpyClient/bwins/MemSpyClientu.def	Wed Sep 29 17:45:35 2010 +0300
@@ -235,4 +235,5 @@
 	?Name@CMemSpyApiWindowGroup@@QBEABVTDesC16@@XZ @ 234 NONAME ; class TDesC16 const & CMemSpyApiWindowGroup::Name(void) const
 	?ProcessHandles@CMemSpyApiThread@@QBEHXZ @ 235 NONAME ; int CMemSpyApiThread::ProcessHandles(void) const
 	?Name@CMemSpyApiThread@@QBEABVTDesC16@@XZ @ 236 NONAME ; class TDesC16 const & CMemSpyApiThread::Name(void) const
+	?StartSwmtTimer@RMemSpySession@@QAEXAAVTRequestStatus@@@Z @ 237 NONAME ; void RMemSpySession::StartSwmtTimer(class TRequestStatus &)
 
--- a/perfsrv/memspy/MemSpyClient/eabi/MemSpyClientu.def	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/MemSpyClient/eabi/MemSpyClientu.def	Wed Sep 29 17:45:35 2010 +0300
@@ -40,216 +40,217 @@
 	_ZN14RMemSpySession14OutputHeapDataER14TRequestStatus @ 39 NONAME
 	_ZN14RMemSpySession14OutputHeapDataEv @ 40 NONAME
 	_ZN14RMemSpySession14OutputHeapInfoER14TRequestStatus @ 41 NONAME
-	_ZN14RMemSpySession14StopSwmtTimerLEv @ 42 NONAME
-	_ZN14RMemSpySession14SwitchToThreadE9TThreadIdi @ 43 NONAME
-	_ZN14RMemSpySession15ForceSwmtUpdateER14TRequestStatus @ 44 NONAME
-	_ZN14RMemSpySession15GetInfoItemTypeEi9TThreadIdR25TMemSpyThreadInfoItemType @ 45 NONAME
-	_ZN14RMemSpySession15OutputPhoneInfoER14TRequestStatus @ 46 NONAME
-	_ZN14RMemSpySession15OutputPhoneInfoEv @ 47 NONAME
-	_ZN14RMemSpySession15OutputStackInfoER14TRequestStatus @ 48 NONAME
-	_ZN14RMemSpySession15StartSwmtTimerLEi @ 49 NONAME
-	_ZN14RMemSpySession15StartSwmtTimerLEv @ 50 NONAME
-	_ZN14RMemSpySession15SwitchToProcessE10TProcessIdi @ 51 NONAME
-	_ZN14RMemSpySession16ForceSwmtUpdateLEv @ 52 NONAME
-	_ZN14RMemSpySession16GetKernelObjectsER6RArrayIP22CMemSpyApiKernelObjectE @ 53 NONAME
-	_ZN14RMemSpySession16GetWindowGroupsLER6RArrayIP21CMemSpyApiWindowGroupE @ 54 NONAME
-	_ZN14RMemSpySession16OutputStackDataLE9TThreadId23TMemSpyDriverDomainType @ 55 NONAME
-	_ZN14RMemSpySession16OutputStackInfoLE9TThreadId @ 56 NONAME
-	_ZN14RMemSpySession17GetKernelObjectsLER6RArrayIP22CMemSpyApiKernelObjectE @ 57 NONAME
-	_ZN14RMemSpySession17SwitchOutputSinkLE15TMemSpySinkType @ 58 NONAME
-	_ZN14RMemSpySession17SwmtResetTrackingEv @ 59 NONAME
-	_ZN14RMemSpySession18GetEComCategoriesLER6RArrayIP22CMemSpyApiEComCategoryE @ 60 NONAME
-	_ZN14RMemSpySession18GetEComInterfacesLE4TUidR6RArrayIP23CMemSpyApiEComInterfaceE @ 61 NONAME
-	_ZN14RMemSpySession18GetSwmtCategoriesLERi @ 62 NONAME
-	_ZN14RMemSpySession18GetSwmtCyclesCountEv @ 63 NONAME
-	_ZN14RMemSpySession18GetThreadInfoItemsER6RArrayIP24CMemSpyApiThreadInfoItemE9TThreadId25TMemSpyThreadInfoItemType @ 64 NONAME
-	_ZN14RMemSpySession18SetSwmtCategoriesLEi @ 65 NONAME
-	_ZN14RMemSpySession18SetThreadPriorityLE9TThreadIdi @ 66 NONAME
-	_ZN14RMemSpySession19GetProcessIdByNameLERK7TDesC16 @ 67 NONAME
-	_ZN14RMemSpySession19GetThreadInfoItemsLER6RArrayIP24CMemSpyApiThreadInfoItemE9TThreadId25TMemSpyThreadInfoItemType @ 68 NONAME
-	_ZN14RMemSpySession19OutputHeapInfoUserLE9TThreadId @ 69 NONAME
-	_ZN14RMemSpySession19OutputUserStackDataER14TRequestStatus @ 70 NONAME
-	_ZN14RMemSpySession19SwitchOutputToFileLERK7TDesC16 @ 71 NONAME
-	_ZN14RMemSpySession20GetKernelObjectItemsER6RArrayIP26CMemSpyApiKernelObjectItemE26TMemSpyDriverContainerType @ 72 NONAME
-	_ZN14RMemSpySession20OutputKernelHeapDataER14TRequestStatus @ 73 NONAME
-	_ZN14RMemSpySession20OutputKernelObjectsLEv @ 74 NONAME
-	_ZN14RMemSpySession20SwitchOutputToTraceLEv @ 75 NONAME
-	_ZN14RMemSpySession21GetKernelObjectItemsLER6RArrayIP26CMemSpyApiKernelObjectItemE26TMemSpyDriverContainerType @ 76 NONAME
-	_ZN14RMemSpySession21GetSwmtTimerIntervalLERi @ 77 NONAME
-	_ZN14RMemSpySession21OutputCompactHeapInfoER14TRequestStatus @ 78 NONAME
-	_ZN14RMemSpySession21OutputHeapCellListingER14TRequestStatus @ 79 NONAME
-	_ZN14RMemSpySession21OutputKernelHeapDataLEv @ 80 NONAME
-	_ZN14RMemSpySession21OutputKernelStackDataER14TRequestStatus @ 81 NONAME
-	_ZN14RMemSpySession21OutputThreadCellListLE9TThreadId @ 82 NONAME
-	_ZN14RMemSpySession21OutputThreadHeapDataLE9TThreadId @ 83 NONAME
-	_ZN14RMemSpySession21OutputThreadHeapDataLERK7TDesC16 @ 84 NONAME
-	_ZN14RMemSpySession21SetSwmtTimerIntervalLEi @ 85 NONAME
-	_ZN14RMemSpySession22GetProcessIdByThreadIdER10TProcessId9TThreadId @ 86 NONAME
-	_ZN14RMemSpySession22OutputCompactHeapInfoLEv @ 87 NONAME
-	_ZN14RMemSpySession22OutputCompactStackInfoER14TRequestStatus @ 88 NONAME
-	_ZN14RMemSpySession23GetEComImplementationsLE4TUidR6RArrayIP28CMemSpyApiEComImplementationE @ 89 NONAME
-	_ZN14RMemSpySession23OutputCompactStackInfoLEv @ 90 NONAME
-	_ZN14RMemSpySession23OutputDetailedPhoneInfoER14TRequestStatus @ 91 NONAME
-	_ZN14RMemSpySession24GetMemoryTrackingCyclesLER6RArrayIP29CMemSpyApiMemoryTrackingCycleE @ 92 NONAME
-	_ZN14RMemSpySession24GetSwmtHeapDumpsEnabledLERi @ 93 NONAME
-	_ZN14RMemSpySession24OutputThreadInfoHandlesLE9TThreadId @ 94 NONAME
-	_ZN14RMemSpySession24ServerListOutputGenericLEi @ 95 NONAME
-	_ZN14RMemSpySession24SetSwmtHeapDumpsEnabledLEi @ 96 NONAME
-	_ZN14RMemSpySession26CancelDeviceWideOperationLEv @ 97 NONAME
-	_ZN14RMemSpySession26OutputAllContainerContentsEv @ 98 NONAME
-	_ZN14RMemSpySession27SetSwmtAutoStartProcessListEP13CArrayFixFlatI4TUidE @ 99 NONAME
-	_ZN14RMemSpySession31ThreadSystemPermanentOrCriticalE9TThreadIdi @ 100 NONAME
-	_ZN14RMemSpySession32ProcessSystemPermanentOrCriticalE10TProcessIdi @ 101 NONAME
-	_ZN14RMemSpySession33NotifyDeviceWideOperationProgressER34TMemSpyDeviceWideOperationProgressR14TRequestStatus @ 102 NONAME
-	_ZN14RMemSpySession7ConnectEv @ 103 NONAME
-	_ZN14RMemSpySession7GetHeapEv @ 104 NONAME
-	_ZN14RMemSpySession8GetHeapLEv @ 105 NONAME
-	_ZN14RMemSpySessionC1Ev @ 106 NONAME
-	_ZN14RMemSpySessionC2Ev @ 107 NONAME
-	_ZN16CMemSpyApiServerD1Ev @ 108 NONAME
-	_ZN16CMemSpyApiServerD2Ev @ 109 NONAME
-	_ZN16CMemSpyApiThreadD1Ev @ 110 NONAME
-	_ZN16CMemSpyApiThreadD2Ev @ 111 NONAME
-	_ZN17CMemSpyApiProcessD1Ev @ 112 NONAME
-	_ZN17CMemSpyApiProcessD2Ev @ 113 NONAME
-	_ZN21CMemSpyApiWindowGroupD0Ev @ 114 NONAME
-	_ZN21CMemSpyApiWindowGroupD1Ev @ 115 NONAME
-	_ZN21CMemSpyApiWindowGroupD2Ev @ 116 NONAME
-	_ZN22CMemSpyApiEComCategoryD0Ev @ 117 NONAME
-	_ZN22CMemSpyApiEComCategoryD1Ev @ 118 NONAME
-	_ZN22CMemSpyApiEComCategoryD2Ev @ 119 NONAME
-	_ZN22CMemSpyApiKernelObjectD1Ev @ 120 NONAME
-	_ZN22CMemSpyApiKernelObjectD2Ev @ 121 NONAME
-	_ZN23CMemSpyApiEComInterfaceD0Ev @ 122 NONAME
-	_ZN23CMemSpyApiEComInterfaceD1Ev @ 123 NONAME
-	_ZN23CMemSpyApiEComInterfaceD2Ev @ 124 NONAME
-	_ZN24CMemSpyApiThreadInfoItemD1Ev @ 125 NONAME
-	_ZN24CMemSpyApiThreadInfoItemD2Ev @ 126 NONAME
-	_ZN26CMemSpyApiKernelObjectItem12OpenChannelsEv @ 127 NONAME
-	_ZN26CMemSpyApiKernelObjectItem15AddressOfServerEv @ 128 NONAME
-	_ZN26CMemSpyApiKernelObjectItem16AddressOfCodeSegEv @ 129 NONAME
-	_ZN26CMemSpyApiKernelObjectItem20AddressOfKernelOwnerEv @ 130 NONAME
-	_ZN26CMemSpyApiKernelObjectItem21AddressOfOwningThreadEv @ 131 NONAME
-	_ZN26CMemSpyApiKernelObjectItem22AddressOfOwningProcessEv @ 132 NONAME
-	_ZN26CMemSpyApiKernelObjectItem26AddressOfDataBssStackChunkEv @ 133 NONAME
-	_ZN26CMemSpyApiKernelObjectItemD1Ev @ 134 NONAME
-	_ZN26CMemSpyApiKernelObjectItemD2Ev @ 135 NONAME
-	_ZN28CMemSpyApiEComImplementationD0Ev @ 136 NONAME
-	_ZN28CMemSpyApiEComImplementationD1Ev @ 137 NONAME
-	_ZN28CMemSpyApiEComImplementationD2Ev @ 138 NONAME
-	_ZN29CMemSpyApiMemoryTrackingCycleD1Ev @ 139 NONAME
-	_ZN29CMemSpyApiMemoryTrackingCycleD2Ev @ 140 NONAME
-	_ZNK16CMemSpyApiServer12SessionCountEv @ 141 NONAME
-	_ZNK16CMemSpyApiServer4NameEv @ 142 NONAME
-	_ZNK16CMemSpyApiServer8ThreadIdEv @ 143 NONAME
-	_ZNK16CMemSpyApiServer9ProcessIdEv @ 144 NONAME
-	_ZNK16CMemSpyApiThread10AttributesEv @ 145 NONAME
-	_ZNK16CMemSpyApiThread12RequestCountEv @ 146 NONAME
-	_ZNK16CMemSpyApiThread13ThreadHandlesEv @ 147 NONAME
-	_ZNK16CMemSpyApiThread14ProcessHandlesEv @ 148 NONAME
-	_ZNK16CMemSpyApiThread14ThreadPriorityEv @ 149 NONAME
-	_ZNK16CMemSpyApiThread15ProcessPriorityEv @ 150 NONAME
-	_ZNK16CMemSpyApiThread17ThreadNumberUsingEv @ 151 NONAME
-	_ZNK16CMemSpyApiThread18ProcessNumberUsingEv @ 152 NONAME
-	_ZNK16CMemSpyApiThread2IdEv @ 153 NONAME
-	_ZNK16CMemSpyApiThread3SIDEv @ 154 NONAME
-	_ZNK16CMemSpyApiThread3VIDEv @ 155 NONAME
-	_ZNK16CMemSpyApiThread4NameEv @ 156 NONAME
-	_ZNK16CMemSpyApiThread6CpuUseEv @ 157 NONAME
-	_ZNK16CMemSpyApiThread8ExitTypeEv @ 158 NONAME
-	_ZNK16CMemSpyApiThread9ProcessIdEv @ 159 NONAME
-	_ZNK17CMemSpyApiProcess10ExitReasonEv @ 160 NONAME
-	_ZNK17CMemSpyApiProcess11ThreadCountEv @ 161 NONAME
-	_ZNK17CMemSpyApiProcess12ExitCategoryEv @ 162 NONAME
-	_ZNK17CMemSpyApiProcess2IdEv @ 163 NONAME
-	_ZNK17CMemSpyApiProcess3SIDEv @ 164 NONAME
-	_ZNK17CMemSpyApiProcess3VIDEv @ 165 NONAME
-	_ZNK17CMemSpyApiProcess4NameEv @ 166 NONAME
-	_ZNK17CMemSpyApiProcess6IsDeadEv @ 167 NONAME
-	_ZNK17CMemSpyApiProcess8ExitTypeEv @ 168 NONAME
-	_ZNK17CMemSpyApiProcess8PriorityEv @ 169 NONAME
-	_ZNK21CMemSpyApiWindowGroup15OrdinalPositionEv @ 170 NONAME
-	_ZNK21CMemSpyApiWindowGroup17WindowGroupHandleEv @ 171 NONAME
-	_ZNK21CMemSpyApiWindowGroup2IdEv @ 172 NONAME
-	_ZNK21CMemSpyApiWindowGroup3UidEv @ 173 NONAME
-	_ZNK21CMemSpyApiWindowGroup4NameEv @ 174 NONAME
-	_ZNK21CMemSpyApiWindowGroup6IsBusyEv @ 175 NONAME
-	_ZNK21CMemSpyApiWindowGroup7CaptionEv @ 176 NONAME
-	_ZNK21CMemSpyApiWindowGroup7DocNameEv @ 177 NONAME
-	_ZNK21CMemSpyApiWindowGroup8FullNameEv @ 178 NONAME
-	_ZNK21CMemSpyApiWindowGroup8IsHiddenEv @ 179 NONAME
-	_ZNK21CMemSpyApiWindowGroup8IsSystemEv @ 180 NONAME
-	_ZNK21CMemSpyApiWindowGroup8PriorityEv @ 181 NONAME
-	_ZNK21CMemSpyApiWindowGroup8ThreadIdEv @ 182 NONAME
-	_ZNK21CMemSpyApiWindowGroup9IsFocusedEv @ 183 NONAME
-	_ZNK22CMemSpyApiEComCategory14InterfaceCountEv @ 184 NONAME
-	_ZNK22CMemSpyApiEComCategory2IdEv @ 185 NONAME
-	_ZNK22CMemSpyApiEComCategory4NameEv @ 186 NONAME
-	_ZNK22CMemSpyApiKernelObject4NameEv @ 187 NONAME
-	_ZNK22CMemSpyApiKernelObject4SizeEv @ 188 NONAME
-	_ZNK22CMemSpyApiKernelObject4TypeEv @ 189 NONAME
-	_ZNK22CMemSpyApiKernelObject5CountEv @ 190 NONAME
-	_ZNK23CMemSpyApiEComInterface19ImplementationCountEv @ 191 NONAME
-	_ZNK23CMemSpyApiEComInterface2IdEv @ 192 NONAME
-	_ZNK23CMemSpyApiEComInterface4NameEv @ 193 NONAME
-	_ZNK24CMemSpyApiThreadInfoItem5ValueEv @ 194 NONAME
-	_ZNK24CMemSpyApiThreadInfoItem7CaptionEv @ 195 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem10AttributesEv @ 196 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem10NameDetailEv @ 197 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem10ProtectionEv @ 198 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem10TimerStateEv @ 199 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem11AccessCountEv @ 200 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem11NameOfOwnerEv @ 201 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem11SessionTypeEv @ 202 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem12RestrictionsEv @ 203 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem12SecurityZoneEv @ 204 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem14SvrSessionTypeEv @ 205 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem16ControllingOwnerEv @ 206 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem16TotalAccessCountEv @ 207 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem2IdEv @ 208 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem3TopEv @ 209 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem4NameEv @ 210 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem4SizeEv @ 211 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem4TypeEv @ 212 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem5CountEv @ 213 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem5OrderEv @ 214 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem5StateEv @ 215 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem6BottomEv @ 216 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem6HandleEv @ 217 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem7ChangesEv @ 218 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem7MapAttrEv @ 219 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem7MaxSizeEv @ 220 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem7VersionEv @ 221 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem8MapCountEv @ 222 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem8MsgCountEv @ 223 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem8MsgLimitEv @ 224 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem8PriorityEv @ 225 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem8StartPosEv @ 226 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem8UniqueIDEv @ 227 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9ChunkTypeEv @ 228 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9CreatorIdEv @ 229 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9ParseMaskEv @ 230 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9ResettingEv @ 231 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9TimerTypeEv @ 232 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9UnitsMaskEv @ 233 NONAME
-	_ZNK26CMemSpyApiKernelObjectItem9WaitCountEv @ 234 NONAME
-	_ZNK28CMemSpyApiEComImplementation10OpaqueDataEv @ 235 NONAME
-	_ZNK28CMemSpyApiEComImplementation17ImplementationUidEv @ 236 NONAME
-	_ZNK28CMemSpyApiEComImplementation4NameEv @ 237 NONAME
-	_ZNK28CMemSpyApiEComImplementation5DriveEv @ 238 NONAME
-	_ZNK28CMemSpyApiEComImplementation7RomOnlyEv @ 239 NONAME
-	_ZNK28CMemSpyApiEComImplementation7VersionEv @ 240 NONAME
-	_ZNK28CMemSpyApiEComImplementation8DataTypeEv @ 241 NONAME
-	_ZNK28CMemSpyApiEComImplementation8DisabledEv @ 242 NONAME
-	_ZNK28CMemSpyApiEComImplementation8RomBasedEv @ 243 NONAME
-	_ZNK28CMemSpyApiEComImplementation8VendorIdEv @ 244 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle10FreeMemoryEv @ 245 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle11ChangeCountEv @ 246 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle11CycleNumberEv @ 247 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle11MemoryDeltaEv @ 248 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle17PreviousCycleDiffEv @ 249 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle4TimeEv @ 250 NONAME
-	_ZNK29CMemSpyApiMemoryTrackingCycle7CaptionEv @ 251 NONAME
-	_ZNK34TMemSpyDeviceWideOperationProgress11DescriptionEv @ 252 NONAME
-	_ZNK34TMemSpyDeviceWideOperationProgress8ProgressEv @ 253 NONAME
+	_ZN14RMemSpySession14StartSwmtTimerER14TRequestStatus @ 42 NONAME
+	_ZN14RMemSpySession14StopSwmtTimerLEv @ 43 NONAME
+	_ZN14RMemSpySession14SwitchToThreadE9TThreadIdi @ 44 NONAME
+	_ZN14RMemSpySession15ForceSwmtUpdateER14TRequestStatus @ 45 NONAME
+	_ZN14RMemSpySession15GetInfoItemTypeEi9TThreadIdR25TMemSpyThreadInfoItemType @ 46 NONAME
+	_ZN14RMemSpySession15OutputPhoneInfoER14TRequestStatus @ 47 NONAME
+	_ZN14RMemSpySession15OutputPhoneInfoEv @ 48 NONAME
+	_ZN14RMemSpySession15OutputStackInfoER14TRequestStatus @ 49 NONAME
+	_ZN14RMemSpySession15StartSwmtTimerLEi @ 50 NONAME
+	_ZN14RMemSpySession15StartSwmtTimerLEv @ 51 NONAME
+	_ZN14RMemSpySession15SwitchToProcessE10TProcessIdi @ 52 NONAME
+	_ZN14RMemSpySession16ForceSwmtUpdateLEv @ 53 NONAME
+	_ZN14RMemSpySession16GetKernelObjectsER6RArrayIP22CMemSpyApiKernelObjectE @ 54 NONAME
+	_ZN14RMemSpySession16GetWindowGroupsLER6RArrayIP21CMemSpyApiWindowGroupE @ 55 NONAME
+	_ZN14RMemSpySession16OutputStackDataLE9TThreadId23TMemSpyDriverDomainType @ 56 NONAME
+	_ZN14RMemSpySession16OutputStackInfoLE9TThreadId @ 57 NONAME
+	_ZN14RMemSpySession17GetKernelObjectsLER6RArrayIP22CMemSpyApiKernelObjectE @ 58 NONAME
+	_ZN14RMemSpySession17SwitchOutputSinkLE15TMemSpySinkType @ 59 NONAME
+	_ZN14RMemSpySession17SwmtResetTrackingEv @ 60 NONAME
+	_ZN14RMemSpySession18GetEComCategoriesLER6RArrayIP22CMemSpyApiEComCategoryE @ 61 NONAME
+	_ZN14RMemSpySession18GetEComInterfacesLE4TUidR6RArrayIP23CMemSpyApiEComInterfaceE @ 62 NONAME
+	_ZN14RMemSpySession18GetSwmtCategoriesLERi @ 63 NONAME
+	_ZN14RMemSpySession18GetSwmtCyclesCountEv @ 64 NONAME
+	_ZN14RMemSpySession18GetThreadInfoItemsER6RArrayIP24CMemSpyApiThreadInfoItemE9TThreadId25TMemSpyThreadInfoItemType @ 65 NONAME
+	_ZN14RMemSpySession18SetSwmtCategoriesLEi @ 66 NONAME
+	_ZN14RMemSpySession18SetThreadPriorityLE9TThreadIdi @ 67 NONAME
+	_ZN14RMemSpySession19GetProcessIdByNameLERK7TDesC16 @ 68 NONAME
+	_ZN14RMemSpySession19GetThreadInfoItemsLER6RArrayIP24CMemSpyApiThreadInfoItemE9TThreadId25TMemSpyThreadInfoItemType @ 69 NONAME
+	_ZN14RMemSpySession19OutputHeapInfoUserLE9TThreadId @ 70 NONAME
+	_ZN14RMemSpySession19OutputUserStackDataER14TRequestStatus @ 71 NONAME
+	_ZN14RMemSpySession19SwitchOutputToFileLERK7TDesC16 @ 72 NONAME
+	_ZN14RMemSpySession20GetKernelObjectItemsER6RArrayIP26CMemSpyApiKernelObjectItemE26TMemSpyDriverContainerType @ 73 NONAME
+	_ZN14RMemSpySession20OutputKernelHeapDataER14TRequestStatus @ 74 NONAME
+	_ZN14RMemSpySession20OutputKernelObjectsLEv @ 75 NONAME
+	_ZN14RMemSpySession20SwitchOutputToTraceLEv @ 76 NONAME
+	_ZN14RMemSpySession21GetKernelObjectItemsLER6RArrayIP26CMemSpyApiKernelObjectItemE26TMemSpyDriverContainerType @ 77 NONAME
+	_ZN14RMemSpySession21GetSwmtTimerIntervalLERi @ 78 NONAME
+	_ZN14RMemSpySession21OutputCompactHeapInfoER14TRequestStatus @ 79 NONAME
+	_ZN14RMemSpySession21OutputHeapCellListingER14TRequestStatus @ 80 NONAME
+	_ZN14RMemSpySession21OutputKernelHeapDataLEv @ 81 NONAME
+	_ZN14RMemSpySession21OutputKernelStackDataER14TRequestStatus @ 82 NONAME
+	_ZN14RMemSpySession21OutputThreadCellListLE9TThreadId @ 83 NONAME
+	_ZN14RMemSpySession21OutputThreadHeapDataLE9TThreadId @ 84 NONAME
+	_ZN14RMemSpySession21OutputThreadHeapDataLERK7TDesC16 @ 85 NONAME
+	_ZN14RMemSpySession21SetSwmtTimerIntervalLEi @ 86 NONAME
+	_ZN14RMemSpySession22GetProcessIdByThreadIdER10TProcessId9TThreadId @ 87 NONAME
+	_ZN14RMemSpySession22OutputCompactHeapInfoLEv @ 88 NONAME
+	_ZN14RMemSpySession22OutputCompactStackInfoER14TRequestStatus @ 89 NONAME
+	_ZN14RMemSpySession23GetEComImplementationsLE4TUidR6RArrayIP28CMemSpyApiEComImplementationE @ 90 NONAME
+	_ZN14RMemSpySession23OutputCompactStackInfoLEv @ 91 NONAME
+	_ZN14RMemSpySession23OutputDetailedPhoneInfoER14TRequestStatus @ 92 NONAME
+	_ZN14RMemSpySession24GetMemoryTrackingCyclesLER6RArrayIP29CMemSpyApiMemoryTrackingCycleE @ 93 NONAME
+	_ZN14RMemSpySession24GetSwmtHeapDumpsEnabledLERi @ 94 NONAME
+	_ZN14RMemSpySession24OutputThreadInfoHandlesLE9TThreadId @ 95 NONAME
+	_ZN14RMemSpySession24ServerListOutputGenericLEi @ 96 NONAME
+	_ZN14RMemSpySession24SetSwmtHeapDumpsEnabledLEi @ 97 NONAME
+	_ZN14RMemSpySession26CancelDeviceWideOperationLEv @ 98 NONAME
+	_ZN14RMemSpySession26OutputAllContainerContentsEv @ 99 NONAME
+	_ZN14RMemSpySession27SetSwmtAutoStartProcessListEP13CArrayFixFlatI4TUidE @ 100 NONAME
+	_ZN14RMemSpySession31ThreadSystemPermanentOrCriticalE9TThreadIdi @ 101 NONAME
+	_ZN14RMemSpySession32ProcessSystemPermanentOrCriticalE10TProcessIdi @ 102 NONAME
+	_ZN14RMemSpySession33NotifyDeviceWideOperationProgressER34TMemSpyDeviceWideOperationProgressR14TRequestStatus @ 103 NONAME
+	_ZN14RMemSpySession7ConnectEv @ 104 NONAME
+	_ZN14RMemSpySession7GetHeapEv @ 105 NONAME
+	_ZN14RMemSpySession8GetHeapLEv @ 106 NONAME
+	_ZN14RMemSpySessionC1Ev @ 107 NONAME
+	_ZN14RMemSpySessionC2Ev @ 108 NONAME
+	_ZN16CMemSpyApiServerD1Ev @ 109 NONAME
+	_ZN16CMemSpyApiServerD2Ev @ 110 NONAME
+	_ZN16CMemSpyApiThreadD1Ev @ 111 NONAME
+	_ZN16CMemSpyApiThreadD2Ev @ 112 NONAME
+	_ZN17CMemSpyApiProcessD1Ev @ 113 NONAME
+	_ZN17CMemSpyApiProcessD2Ev @ 114 NONAME
+	_ZN21CMemSpyApiWindowGroupD0Ev @ 115 NONAME
+	_ZN21CMemSpyApiWindowGroupD1Ev @ 116 NONAME
+	_ZN21CMemSpyApiWindowGroupD2Ev @ 117 NONAME
+	_ZN22CMemSpyApiEComCategoryD0Ev @ 118 NONAME
+	_ZN22CMemSpyApiEComCategoryD1Ev @ 119 NONAME
+	_ZN22CMemSpyApiEComCategoryD2Ev @ 120 NONAME
+	_ZN22CMemSpyApiKernelObjectD1Ev @ 121 NONAME
+	_ZN22CMemSpyApiKernelObjectD2Ev @ 122 NONAME
+	_ZN23CMemSpyApiEComInterfaceD0Ev @ 123 NONAME
+	_ZN23CMemSpyApiEComInterfaceD1Ev @ 124 NONAME
+	_ZN23CMemSpyApiEComInterfaceD2Ev @ 125 NONAME
+	_ZN24CMemSpyApiThreadInfoItemD1Ev @ 126 NONAME
+	_ZN24CMemSpyApiThreadInfoItemD2Ev @ 127 NONAME
+	_ZN26CMemSpyApiKernelObjectItem12OpenChannelsEv @ 128 NONAME
+	_ZN26CMemSpyApiKernelObjectItem15AddressOfServerEv @ 129 NONAME
+	_ZN26CMemSpyApiKernelObjectItem16AddressOfCodeSegEv @ 130 NONAME
+	_ZN26CMemSpyApiKernelObjectItem20AddressOfKernelOwnerEv @ 131 NONAME
+	_ZN26CMemSpyApiKernelObjectItem21AddressOfOwningThreadEv @ 132 NONAME
+	_ZN26CMemSpyApiKernelObjectItem22AddressOfOwningProcessEv @ 133 NONAME
+	_ZN26CMemSpyApiKernelObjectItem26AddressOfDataBssStackChunkEv @ 134 NONAME
+	_ZN26CMemSpyApiKernelObjectItemD1Ev @ 135 NONAME
+	_ZN26CMemSpyApiKernelObjectItemD2Ev @ 136 NONAME
+	_ZN28CMemSpyApiEComImplementationD0Ev @ 137 NONAME
+	_ZN28CMemSpyApiEComImplementationD1Ev @ 138 NONAME
+	_ZN28CMemSpyApiEComImplementationD2Ev @ 139 NONAME
+	_ZN29CMemSpyApiMemoryTrackingCycleD1Ev @ 140 NONAME
+	_ZN29CMemSpyApiMemoryTrackingCycleD2Ev @ 141 NONAME
+	_ZNK16CMemSpyApiServer12SessionCountEv @ 142 NONAME
+	_ZNK16CMemSpyApiServer4NameEv @ 143 NONAME
+	_ZNK16CMemSpyApiServer8ThreadIdEv @ 144 NONAME
+	_ZNK16CMemSpyApiServer9ProcessIdEv @ 145 NONAME
+	_ZNK16CMemSpyApiThread10AttributesEv @ 146 NONAME
+	_ZNK16CMemSpyApiThread12RequestCountEv @ 147 NONAME
+	_ZNK16CMemSpyApiThread13ThreadHandlesEv @ 148 NONAME
+	_ZNK16CMemSpyApiThread14ProcessHandlesEv @ 149 NONAME
+	_ZNK16CMemSpyApiThread14ThreadPriorityEv @ 150 NONAME
+	_ZNK16CMemSpyApiThread15ProcessPriorityEv @ 151 NONAME
+	_ZNK16CMemSpyApiThread17ThreadNumberUsingEv @ 152 NONAME
+	_ZNK16CMemSpyApiThread18ProcessNumberUsingEv @ 153 NONAME
+	_ZNK16CMemSpyApiThread2IdEv @ 154 NONAME
+	_ZNK16CMemSpyApiThread3SIDEv @ 155 NONAME
+	_ZNK16CMemSpyApiThread3VIDEv @ 156 NONAME
+	_ZNK16CMemSpyApiThread4NameEv @ 157 NONAME
+	_ZNK16CMemSpyApiThread6CpuUseEv @ 158 NONAME
+	_ZNK16CMemSpyApiThread8ExitTypeEv @ 159 NONAME
+	_ZNK16CMemSpyApiThread9ProcessIdEv @ 160 NONAME
+	_ZNK17CMemSpyApiProcess10ExitReasonEv @ 161 NONAME
+	_ZNK17CMemSpyApiProcess11ThreadCountEv @ 162 NONAME
+	_ZNK17CMemSpyApiProcess12ExitCategoryEv @ 163 NONAME
+	_ZNK17CMemSpyApiProcess2IdEv @ 164 NONAME
+	_ZNK17CMemSpyApiProcess3SIDEv @ 165 NONAME
+	_ZNK17CMemSpyApiProcess3VIDEv @ 166 NONAME
+	_ZNK17CMemSpyApiProcess4NameEv @ 167 NONAME
+	_ZNK17CMemSpyApiProcess6IsDeadEv @ 168 NONAME
+	_ZNK17CMemSpyApiProcess8ExitTypeEv @ 169 NONAME
+	_ZNK17CMemSpyApiProcess8PriorityEv @ 170 NONAME
+	_ZNK21CMemSpyApiWindowGroup15OrdinalPositionEv @ 171 NONAME
+	_ZNK21CMemSpyApiWindowGroup17WindowGroupHandleEv @ 172 NONAME
+	_ZNK21CMemSpyApiWindowGroup2IdEv @ 173 NONAME
+	_ZNK21CMemSpyApiWindowGroup3UidEv @ 174 NONAME
+	_ZNK21CMemSpyApiWindowGroup4NameEv @ 175 NONAME
+	_ZNK21CMemSpyApiWindowGroup6IsBusyEv @ 176 NONAME
+	_ZNK21CMemSpyApiWindowGroup7CaptionEv @ 177 NONAME
+	_ZNK21CMemSpyApiWindowGroup7DocNameEv @ 178 NONAME
+	_ZNK21CMemSpyApiWindowGroup8FullNameEv @ 179 NONAME
+	_ZNK21CMemSpyApiWindowGroup8IsHiddenEv @ 180 NONAME
+	_ZNK21CMemSpyApiWindowGroup8IsSystemEv @ 181 NONAME
+	_ZNK21CMemSpyApiWindowGroup8PriorityEv @ 182 NONAME
+	_ZNK21CMemSpyApiWindowGroup8ThreadIdEv @ 183 NONAME
+	_ZNK21CMemSpyApiWindowGroup9IsFocusedEv @ 184 NONAME
+	_ZNK22CMemSpyApiEComCategory14InterfaceCountEv @ 185 NONAME
+	_ZNK22CMemSpyApiEComCategory2IdEv @ 186 NONAME
+	_ZNK22CMemSpyApiEComCategory4NameEv @ 187 NONAME
+	_ZNK22CMemSpyApiKernelObject4NameEv @ 188 NONAME
+	_ZNK22CMemSpyApiKernelObject4SizeEv @ 189 NONAME
+	_ZNK22CMemSpyApiKernelObject4TypeEv @ 190 NONAME
+	_ZNK22CMemSpyApiKernelObject5CountEv @ 191 NONAME
+	_ZNK23CMemSpyApiEComInterface19ImplementationCountEv @ 192 NONAME
+	_ZNK23CMemSpyApiEComInterface2IdEv @ 193 NONAME
+	_ZNK23CMemSpyApiEComInterface4NameEv @ 194 NONAME
+	_ZNK24CMemSpyApiThreadInfoItem5ValueEv @ 195 NONAME
+	_ZNK24CMemSpyApiThreadInfoItem7CaptionEv @ 196 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem10AttributesEv @ 197 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem10NameDetailEv @ 198 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem10ProtectionEv @ 199 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem10TimerStateEv @ 200 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem11AccessCountEv @ 201 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem11NameOfOwnerEv @ 202 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem11SessionTypeEv @ 203 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem12RestrictionsEv @ 204 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem12SecurityZoneEv @ 205 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem14SvrSessionTypeEv @ 206 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem16ControllingOwnerEv @ 207 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem16TotalAccessCountEv @ 208 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem2IdEv @ 209 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem3TopEv @ 210 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem4NameEv @ 211 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem4SizeEv @ 212 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem4TypeEv @ 213 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem5CountEv @ 214 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem5OrderEv @ 215 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem5StateEv @ 216 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem6BottomEv @ 217 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem6HandleEv @ 218 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem7ChangesEv @ 219 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem7MapAttrEv @ 220 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem7MaxSizeEv @ 221 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem7VersionEv @ 222 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem8MapCountEv @ 223 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem8MsgCountEv @ 224 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem8MsgLimitEv @ 225 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem8PriorityEv @ 226 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem8StartPosEv @ 227 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem8UniqueIDEv @ 228 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9ChunkTypeEv @ 229 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9CreatorIdEv @ 230 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9ParseMaskEv @ 231 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9ResettingEv @ 232 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9TimerTypeEv @ 233 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9UnitsMaskEv @ 234 NONAME
+	_ZNK26CMemSpyApiKernelObjectItem9WaitCountEv @ 235 NONAME
+	_ZNK28CMemSpyApiEComImplementation10OpaqueDataEv @ 236 NONAME
+	_ZNK28CMemSpyApiEComImplementation17ImplementationUidEv @ 237 NONAME
+	_ZNK28CMemSpyApiEComImplementation4NameEv @ 238 NONAME
+	_ZNK28CMemSpyApiEComImplementation5DriveEv @ 239 NONAME
+	_ZNK28CMemSpyApiEComImplementation7RomOnlyEv @ 240 NONAME
+	_ZNK28CMemSpyApiEComImplementation7VersionEv @ 241 NONAME
+	_ZNK28CMemSpyApiEComImplementation8DataTypeEv @ 242 NONAME
+	_ZNK28CMemSpyApiEComImplementation8DisabledEv @ 243 NONAME
+	_ZNK28CMemSpyApiEComImplementation8RomBasedEv @ 244 NONAME
+	_ZNK28CMemSpyApiEComImplementation8VendorIdEv @ 245 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle10FreeMemoryEv @ 246 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle11ChangeCountEv @ 247 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle11CycleNumberEv @ 248 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle11MemoryDeltaEv @ 249 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle17PreviousCycleDiffEv @ 250 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle4TimeEv @ 251 NONAME
+	_ZNK29CMemSpyApiMemoryTrackingCycle7CaptionEv @ 252 NONAME
+	_ZNK34TMemSpyDeviceWideOperationProgress11DescriptionEv @ 253 NONAME
+	_ZNK34TMemSpyDeviceWideOperationProgress8ProgressEv @ 254 NONAME
 
--- a/perfsrv/memspy/MemSpyClient/inc/memspysession.h	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/MemSpyClient/inc/memspysession.h	Wed Sep 29 17:45:35 2010 +0300
@@ -201,6 +201,8 @@
     
     IMPORT_C void StartSwmtTimerL(TInt aPeriod);
     
+    IMPORT_C void StartSwmtTimer( TRequestStatus& aStatus );
+    
     IMPORT_C void StartSwmtTimerL(); // for CLI
     
     IMPORT_C void SetSwmtTimerIntervalL(TInt aPeriod); //for CLI
--- a/perfsrv/memspy/MemSpyClient/src/memspysession.cpp	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/MemSpyClient/src/memspysession.cpp	Wed Sep 29 17:45:35 2010 +0300
@@ -779,7 +779,7 @@
 	{
 	TPckgBuf<TBool> ret;
 	User::LeaveIfError(SendReceive(EMemSpyClientServerOpIsSwmtRunning, TIpcArgs(&ret)));
-	
+		
 	return ret();
 	}
 
@@ -789,6 +789,12 @@
 	User::LeaveIfError(SendReceive(EMemSpyClientServerOpSystemWideMemoryTrackingTimerStart));
 	}
 
+EXPORT_C void RMemSpySession::StartSwmtTimer( TRequestStatus& aStatus )
+	{
+	SendReceive( EMemSpyClientServerOpSystemWideMemoryTrackingTimerStart, 
+			TIpcArgs(), aStatus );
+	}
+
 EXPORT_C void RMemSpySession::StartSwmtTimerL()
 	{
 	User::LeaveIfError(SendReceive(EMemSpyClientServerOpSystemWideMemoryTrackingTimerStart));
--- a/perfsrv/memspy/group/ReleaseNotes_MemSpy.txt	Mon Sep 27 14:07:59 2010 +0300
+++ b/perfsrv/memspy/group/ReleaseNotes_MemSpy.txt	Wed Sep 29 17:45:35 2010 +0300
@@ -1,7 +1,7 @@
 ===============================================================================
 
-RELEASE NOTES - MEMSPY v2.2.1
-RELEASED 7th September 2010 
+RELEASE NOTES - MEMSPY v2.2.2
+RELEASED 21th September 2010 
 
 SUPPORTS S60 5.0+
 
@@ -28,12 +28,12 @@
 
 ===============================================================================
 
-What's New in v2.2.1
+What's New in v2.2.2
 ====================
-- Feature: Window Groups view to display window server items.
-- Fix: SWMT Timer status mismatch.
-- Fix: Non-supported SWMT categories removed.
-- Fix: Options - Open in Servers view not working.
+- Fix: SWMT crash when heap dumps without filter are enabled.
+- Fix: Memory leaks.
+- UI change: Results subview removed from SMWT view.
+- UI change: Wait dialog when opening KernelContainers and KernelObjects Avkon view.
 
 ===============================================================================
 
@@ -96,6 +96,13 @@
 Version History:
 ================
 
+Version 2.2.1 - 7th September 2010
+----------------------------------
+- Feature: Window Groups view to display window server items.
+- Fix: SWMT Timer status mismatch.
+- Fix: Non-supported SWMT categories removed.
+- Fix: Options - Open in Servers view not working.
+
 Version 2.2.0 - 24th August 2010
 --------------------------------
 - Feature: Servers view to display a list of running servers.