Share via


RTL_HEAP_PARAMETERS structure (ntifs.h)

La structure RTL_HEAP_PARAMETERS contient des paramètres à appliquer lors de la création d’un tas.

Syntaxe

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;

Membres

Length

Taille, en octets, de la structure RTL_HEAP_PARAMETERS .

SegmentReserve

Taille de réserve de segment, en octets. Si cette valeur n’est pas spécifiée, 1 Mo est utilisé.

SegmentCommit

Taille de validation de segment, en octets. Si cette valeur n’est pas spécifiée, PAGE_SIZE * 2 est utilisé.

DeCommitFreeBlockThreshold

Décommit le seuil de bloc libre, en octets. Si cette valeur n’est pas spécifiée, PAGE_SIZE est utilisé.

DeCommitTotalFreeThreshold

Décommit le seuil libre total, en octets. Si cette valeur n’est pas spécifiée, 65536 est utilisé.

MaximumAllocationSize

Taille, en octets, du plus grand bloc de mémoire qui peut être alloué à partir du tas. Si cette valeur n’est pas spécifiée, la différence entre les adresses les plus élevées et les adresses les plus basses, moins d’une page, est utilisée.

VirtualMemoryThreshold

Seuil de mémoire virtuelle, en octets. Si cette valeur n’est pas spécifiée ou si elle est supérieure à la taille maximale du bloc de tas, la taille maximale du bloc de tas de 0x7F000 est utilisée.

InitialCommit

Quantité initiale de mémoire, en octets, à valider pour le tas. Doit être inférieur ou égal à InitialReserve. Si HeapBase et CommitRoutine n’ont pas la valeur NULL, ce paramètre, qui remplace la valeur de CommitSize, doit être une valeur différente de zéro ; sinon, elle est ignorée.

InitialReserve

Quantité initiale de mémoire, en octets, à réserver pour le tas. Si HeapBase et CommitRoutine n’ont pas la valeur NULL, ce paramètre, qui remplace la valeur de ReserveSize, doit être une valeur différente de zéro ; sinon, elle est ignorée.

CommitRoutine

Pointeur vers une routine RTL_HEAP_COMMIT_ROUTINE pour valider les pages à partir du tas. Si ce paramètre n’est pas NULL, le tas doit être non extensible. Si HeapBase a la valeur NULL, CommitRoutine doit également avoir la valeur NULL.

Reserved[2]

Réservé pour le système. Les pilotes doivent définir ce paramètre sur zéro.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
En-tête ntifs.h

Voir aussi

RTL_HEAP_COMMIT_ROUTINERtlCreateHeap