структура RTL_HEAP_PARAMETERS (ntifs.h)

Структура RTL_HEAP_PARAMETERS содержит параметры, применяемые при создании кучи.

Синтаксис

typedef struct _RTL_HEAP_PARAMETERS {
  ULONG                    Length;
  SIZE_T                   SegmentReserve;
  SIZE_T                   SegmentCommit;
  SIZE_T                   DeCommitFreeBlockThreshold;
  SIZE_T                   DeCommitTotalFreeThreshold;
  SIZE_T                   MaximumAllocationSize;
  SIZE_T                   VirtualMemoryThreshold;
  SIZE_T                   InitialCommit;
  SIZE_T                   InitialReserve;
  PRTL_HEAP_COMMIT_ROUTINE CommitRoutine;
  SIZE_T                   Reserved[2];
} RTL_HEAP_PARAMETERS, *PRTL_HEAP_PARAMETERS;

Члены

Length

Размер структуры RTL_HEAP_PARAMETERS в байтах.

SegmentReserve

Размер резерва сегмента в байтах. Если это значение не указано, используется 1 МБ.

SegmentCommit

Размер фиксации сегмента в байтах. Если это значение не указано, используется PAGE_SIZE * 2.

DeCommitFreeBlockThreshold

Пороговое значение свободного блока списания в байтах. Если это значение не указано, используется PAGE_SIZE.

DeCommitTotalFreeThreshold

Общее пороговое значение свободного использования списания в байтах. Если это значение не указано, используется 65536.

MaximumAllocationSize

Размер (в байтах) самого большого блока памяти, который можно выделить из кучи. Если это значение не указано, используется разница между самыми высокими и наименьшими адресами( менее одной страницы).

VirtualMemoryThreshold

Пороговое значение виртуальной памяти в байтах. Если это значение не указано или оно больше максимального размера блока кучи, используется максимальный размер блока кучи 0x7F000.

InitialCommit

Начальный объем памяти в байтах для фиксации для кучи. Значение должно быть меньше или равно InitialReserve. Если heapBase и CommitRoutine имеют значение, отличное от NULL, этот параметр, который переопределяет значение CommitSize, должен быть ненулевым; в противном случае он игнорируется.

InitialReserve

Начальный объем памяти в байтах для резервирования для кучи. Если heapBase и CommitRoutine имеют значение, отличное от NULL, этот параметр, который переопределяет значение ReserveSize, должен быть ненулевым; в противном случае он игнорируется.

CommitRoutine

Указатель на RTL_HEAP_COMMIT_ROUTINE подпрограмму для фиксации страниц из кучи. Если этот параметр не равен NULL, куча должна быть неувелимаемой. Если HeapBase имеет значение NULL, CommitRoutine также должен иметь значение NULL.

Reserved[2]

Зарезервировано для системного использования. Драйверы должны задать для этого параметра нулевое значение.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Верхняя часть ntifs.h

См. также раздел

RTL_HEAP_COMMIT_ROUTINERtlCreateHeap