예제 #1
0
        public IEnumerable <HeapBlock> EnumHeapBlocks()
        {
            var entry = new HeapEntry();

            entry.Init();

            if (!Win32.Heap32First(ref entry, _pid, _heap.HeapId))
            {
                yield break;
            }

            do
            {
                yield return(new HeapBlock(entry));
            } while (Win32.Heap32Next(ref entry));
        }
예제 #2
0
 internal static extern bool Heap32Next(ref HeapEntry he);
예제 #3
0
 internal static extern bool Heap32First(ref HeapEntry he, int pid, IntPtr heapId);
예제 #4
0
 internal HeapBlock(HeapEntry entry)
 {
     _entry = entry;
 }