diff -r 07b41fa8d1dd -r ca8a1b6995f6 memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h --- a/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Thu Aug 19 11:25:43 2010 +0300 +++ b/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Tue Aug 31 16:45:49 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 iCellList; + RMemSpyMemStreamWriter* iHeapStream; };