void CProcessBrowserDlg::LoadHeap (DWORD dwProcessID) { HANDLE hSnapshot; BOOL bRet; BOOL bEntryRet; HEAPLIST32 hlHeapList; HEAPENTRY32 heHeapEntry; hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPHEAPLIST,dwProcessID ); if( hSnapshot != NULL ) { hlHeapList.dwSize = sizeof( HEAPLIST32 ); bRet = Heap32ListFirst( hSnapshot,&hlHeapList ); while( bRet ) { heHeapEntry.dwSize = sizeof( HEAPENTRY32 ); bEntryRet = Heap32First( &heHeapEntry, dwProcessID,hlHeapList.th32HeapID ); while( bEntryRet ) { …………. bEntryRet = Heap32Next( &heHeapEntry ); } bRet = Heap32ListNext( hSnapshot,&hlHeapList ); } CloseHandle( hSnapshot ); } }