Функция Heap32First (tlhelp32.h)
Извлекает сведения о первом блоке кучи, выделенном процессом.
Синтаксис
BOOL Heap32First(
[in, out] LPHEAPENTRY32 lphe,
[in] DWORD th32ProcessID,
[in] ULONG_PTR th32HeapID
);
Параметры
[in, out] lphe
Указатель на структуру HEAPENTRY32 .
[in] th32ProcessID
Идентификатор контекста процесса, которому принадлежит куча.
[in] th32HeapID
Идентификатор перечисляемой кучи.
Возвращаемое значение
Возвращает значение TRUE , если сведения для первого блока кучи были скопированы в буфер или false в противном случае. Значение ошибки ERROR_NO_MORE_FILES возвращается функцией GetLastError , если куча является недопустимой или пустой.
Комментарии
Вызывающее приложение должно задать члену dwSizeHEAPENTRY32 размер (в байтах) структуры. Heap32First изменяет dwSize на количество байтов, записанных в структуру. Это значение никогда не будет больше начального значения dwSize, но может быть меньше. Если значение меньше, не следует полагаться на значения элементов, смещения которых больше этого значения.
Чтобы получить доступ к последующим блокам той же кучи, используйте функцию Heap32Next .
Прогулка по куче с Heap32First и Heap32Next неэффективна , особенно для больших кучи. Вместо этого используйте HeapWalk .
Примеры
Пример см. в разделе Обход списка кучи.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | tlhelp32.h |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |