public bool GetSegmentData(ulong addr, out SegmentData data) { InitDelegate(ref _getSegmentData, VTable->GetHeapSegmentData); int hr = _getSegmentData(Self, addr, out data); return(SUCCEEDED(hr)); }
public bool GetSegmentData(ulong addr, out SegmentData data) { InitDelegate(ref _getSegmentData, VTable->GetHeapSegmentData); int hr = _getSegmentData(Self, addr, out data); if (hr == 0 && IntPtr.Size == 4) { data = new SegmentData(ref data); } return(SUCCEEDED(hr)); }
internal SegmentData(ref SegmentData data) { this = data; // Sign extension issues if (IntPtr.Size == 4) { FixupPointer(ref Address); FixupPointer(ref Allocated); FixupPointer(ref Committed); FixupPointer(ref Reserved); FixupPointer(ref Used); FixupPointer(ref Mem); FixupPointer(ref Next); FixupPointer(ref Heap); FixupPointer(ref HighAllocMark); FixupPointer(ref BackgroundAllocated); } }