diff -r b58b1294947a -r 1ea875759131 memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h --- a/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Mon Jun 21 22:45:06 2010 +0100 +++ b/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanHeapInfo.h Thu Jul 22 16:50:07 2010 +0100 @@ -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; };