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
세그먼트 예약 크기(바이트)입니다. 이 값을 지정하지 않으면 1MB가 사용됩니다.
SegmentCommit
세그먼트 커밋 크기(바이트)입니다. 이 값을 지정하지 않으면 PAGE_SIZE * 2가 사용됩니다.
DeCommitFreeBlockThreshold
자유 블록 임계값(바이트)을 커밋 해제합니다. 이 값을 지정하지 않으면 PAGE_SIZE 사용됩니다.
DeCommitTotalFreeThreshold
총 사용량 임계값(바이트)을 커밋 해제합니다. 이 값을 지정하지 않으면 65536이 사용됩니다.
MaximumAllocationSize
힙에서 할당할 수 있는 가장 큰 메모리 블록의 크기(바이트)입니다. 이 값을 지정하지 않으면 가장 높은 주소와 가장 낮은 주소(한 페이지 미만)의 차이가 사용됩니다.
VirtualMemoryThreshold
가상 메모리 임계값(바이트)입니다. 이 값을 지정하지 않았거나 최대 힙 블록 크기보다 큰 경우 0x7F000 최대 힙 블록 크기가 사용됩니다.
InitialCommit
힙에 커밋할 초기 메모리 양(바이트)입니다. InitialReserve보다 작거나 같아야 합니다. HeapBase 및 CommitRoutine이 NULL이 아닌 경우 CommitSize 값을 재정의하는 이 매개 변수는 0이 아닌 값이어야 합니다. 그렇지 않으면 무시됩니다.
InitialReserve
힙에 대해 예약할 초기 메모리 양(바이트)입니다. HeapBase 및 CommitRoutine이 NULL이 아닌 경우 ReserveSize 값을 재정의하는 이 매개 변수는 0이 아닌 값이어야 합니다. 그렇지 않으면 무시됩니다.
CommitRoutine
힙에서 페이지를 커밋하는 RTL_HEAP_COMMIT_ROUTINE 루틴에 대한 포인터입니다. 이 매개 변수가 NULL이 아닌 경우 힙은 nongrowable이어야 합니다. HeapBase가 NULL인 경우 CommitRoutine도 NULL이어야 합니다.
Reserved[2]
시스템에서 사용하도록 예약되었습니다. 드라이버는 이 매개 변수를 0으로 설정해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
머리글 | ntifs.h |