структура 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по