Поделиться через


структура 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