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