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보다 작거나 같아야 합니다. HeapBaseCommitRoutine이 NULL이 아닌 경우 CommitSize 값을 재정의하는 이 매개 변수는 0이 아닌 값이어야 합니다. 그렇지 않으면 무시됩니다.

InitialReserve

힙에 대해 예약할 초기 메모리 양(바이트)입니다. HeapBaseCommitRoutine이 NULL이 아닌 경우 ReserveSize 값을 재정의하는 이 매개 변수는 0이 아닌 값이어야 합니다. 그렇지 않으면 무시됩니다.

CommitRoutine

힙에서 페이지를 커밋하는 RTL_HEAP_COMMIT_ROUTINE 루틴에 대한 포인터입니다. 이 매개 변수가 NULL이 아닌 경우 힙은 nongrowable이어야 합니다. HeapBase가 NULL인 경우 CommitRoutine도 NULL이어야 합니다.

Reserved[2]

시스템에서 사용하도록 예약되었습니다. 드라이버는 이 매개 변수를 0으로 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
머리글 ntifs.h

추가 정보

RTL_HEAP_COMMIT_ROUTINERtlCreateHeap