--- a/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Wed Jun 23 19:59:05 2010 +0300
+++ b/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Tue Jul 06 16:05:13 2010 +0300
@@ -53,13 +53,22 @@
private: // Channel operation handlers
TInt GetHeapInfoUser( TMemSpyDriverInternalHeapRequestParameters* aParams );
TInt GetHeapInfoKernel( TMemSpyDriverInternalHeapRequestParameters* aParams, TDes8* aTransferBuffer );
- TInt GetIsDebugKernel( TBool* aIsDebugKernel );
+ TInt GetIsDebugKernel(TAny* aIsDebugKernel);
+
+private: // From MHeapWalkerObserver
+ void HandleHeapWalkInit();
+ TBool HandleHeapCell( TMemSpyDriverCellType aCellType, TAny* aCellAddress, TInt aLength, TInt aNestingLevel, TInt aAllocNumber );
private: // Internal methods
- TUint32 CalculateFreeCellBufferSize() const;
+ void ReleaseCellList();
+ TInt PrepareCellListTransferBuffer();
+ TInt FetchCellList(TDes8* aBufferSink);
+ TInt CalculateCellListBufferSize() const;
private: // Data members
TMemSpyDriverInternalHeapRequestParameters iHeapInfoParams;
+ RArray<TMemSpyDriverCell> iCellList;
+ RMemSpyMemStreamWriter* iHeapStream;
};