diff -r 4fde310f06fe -r 86a2e675b80a memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h --- a/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Mon Jun 14 11:37:33 2010 +0300 +++ b/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Mon Jun 28 15:36:07 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; };