Fonctions de gestion de la mémoire

Fonctions de mémoire générales

Fonction Description
AddSecureMemoryCacheCallback Inscrit une fonction de rappel à appeler lorsqu’une plage de mémoire sécurisée est libérée ou que ses protections sont modifiées.
CopyMemory Copie un bloc de mémoire d’un emplacement à un autre.
CreateMemoryResourceNotification Crée un objet de notification de ressource mémoire.
FillMemory Remplit un bloc de mémoire avec une valeur spécifiée.
GetLargePageMinimum Récupère la taille minimale d’une grande page.
GetPhysicalInstalledSystemMemory Récupère la quantité de RAM physiquement installée sur l’ordinateur.
GetSystemFileCacheSize Récupère les limites de taille actuelles pour le jeu de travail du cache système.
GetWriteWatch Récupère les adresses des pages qui ont été écrites dans une région de mémoire virtuelle.
GlobalMemoryStatusEx Obtient des informations sur l’utilisation actuelle de la mémoire physique et virtuelle par le système.
MoveMemory Déplace un bloc de mémoire d’un emplacement à un autre.
QueryMemoryResourceNotification Récupère l’état de l’objet de ressource mémoire spécifié.
RemoveSecureMemoryCacheCallback Annule l’inscription d’une fonction de rappel précédemment inscrite auprès de la fonction AddSecureMemoryCacheCallback .
ResetWriteWatch Réinitialise l’état de suivi des écritures pour une région de mémoire virtuelle.
SecureMemoryCacheCallback Fonction définie par l’application appelée lorsqu’une plage de mémoire sécurisée est libérée ou que ses protections sont modifiées.
SecureZeroMemory Remplit un bloc de mémoire avec des zéros.
SetSystemFileCacheSize Limite la taille du jeu de travail pour le cache du système de fichiers.
ZeroMemory Remplit un bloc de mémoire avec des zéros.

Fonctions de prévention de l’exécution des données

Ces fonctions sont utilisées avec la prévention de l’exécution des données (DEP).

Fonction Description
GetProcessDEPPolicy Récupère les paramètres DEP pour un processus.
GetSystemDEPPolicy Récupère les paramètres DEP pour le système.
SetProcessDEPPolicy Modifie les paramètres DEP d’un processus.

Fonctions de mappage de fichiers

Ces fonctions sont utilisées dans le mappage de fichiers.

Fonction Description
CreateFileMappingA Crée ou ouvre un objet de mappage de fichiers nommé ou sans nom pour un fichier spécifié.
CreateFileMappingW Crée ou ouvre un objet de mappage de fichiers nommé ou sans nom pour un fichier spécifié.
CreateFileMapping2 Crée ou ouvre un objet de mappage de fichiers nommé ou sans nom pour un fichier spécifié. Vous pouvez spécifier un nœud NUMA préféré pour la mémoire physique en tant que paramètre étendu ; consultez le paramètre ExtendedParameters .
CreateFileMappingFromApp Crée ou ouvre un objet de mappage de fichiers nommé ou sans nom pour un fichier spécifié à partir d’une application du Windows Store.
CreateFileMappingNuma Crée ou ouvre un objet de mappage de fichiers nommé ou sans nom pour un fichier spécifié, et spécifie le nœud NUMA pour la mémoire physique.
FlushViewOfFile Écrit sur le disque une plage d’octets dans une vue mappée d’un fichier.
GetMappedFileName Vérifie si l’adresse spécifiée se trouve dans un fichier mappé en mémoire dans l’espace d’adressage du processus spécifié. Si c’est le cas, la fonction retourne le nom du fichier mappé en mémoire.
MapViewOfFile Mappe une vue d’un mappage de fichiers dans l’espace d’adressage d’un processus appelant.
MapViewOfFile2 Mappe une vue d’un fichier ou d’une section sauvegardée par un fichier de page dans l’espace d’adressage du processus spécifié.
MapViewOfFile3 Mappe une vue d’un fichier ou d’une section sauvegardée par un fichier de page dans l’espace d’adressage du processus spécifié.
MapViewOfFile3FromApp Mappe une vue d’un mappage de fichiers dans l’espace d’adressage d’un processus appelant à partir d’une application du Windows Store.
MapViewOfFileEx Mappe une vue d’un mappage de fichiers dans l’espace d’adressage d’un processus appelant. Un appelant peut éventuellement spécifier une adresse mémoire suggérée pour la vue.
MapViewOfFileExNuma Mappe une vue d’un mappage de fichiers dans l’espace d’adressage d’un processus appelant et spécifie le nœud NUMA pour la mémoire physique.
MapViewOfFileFromApp Mappe une vue d’un mappage de fichiers dans l’espace d’adressage d’un processus appelant à partir d’une application du Windows Store.
MapViewOfFileNuma2 Mappe une vue d’un fichier ou d’une section sauvegardée par un fichier de page dans l’espace d’adressage du processus spécifié.
OpenFileMapping Ouvre un objet de mappage de fichiers nommé.
OpenFileMappingFromApp Ouvre un objet de mappage de fichiers nommé.
UnmapViewOfFile Annule le mappage d’une vue mappée d’un fichier à partir de l’espace d’adressage du processus appelant.
UnmapViewOfFile2 Annule le mappage d’une vue précédemment mappée d’un fichier ou d’une section de fichier de page.
UnmapViewOfFileEx Annule le mappage d’une vue précédemment mappée d’un fichier ou d’une section de fichier de page.

Fonctions AWE

Il s’agit des fonctions AWE.

Fonction Description
AllocateUserPhysicalPages Alloue des pages de mémoire physique à mapper et à défaire dans n’importe quelle région AWE du processus.
AllocateUserPhysicalPagesNuma Alloue les pages de mémoire physique à mapper et à démapper dans n’importe quelle région AWE du processus, et spécifie le nœud NUMA pour la mémoire physique.
FreeUserPhysicalPages Libère les pages de mémoire physique précédemment allouées avec AllocateUserPhysicalPages.
MapUserPhysicalPages Mappe les pages de mémoire physique précédemment allouées à l’adresse spécifiée dans une région AWE.
MapUserPhysicalPagesScatter Mappe les pages de mémoire physique précédemment allouées à l’adresse spécifiée dans une région AWE.

Fonctions de segment de mémoire

Il s’agit des fonctions de tas.

Fonction Description
GetProcessHeap Obtient un handle pour le tas du processus d’appel.
GetProcessHeaps Obtient des handles pour tous les tas qui sont valides pour le processus d’appel.
HeapAlloc Alloue un bloc de mémoire à partir d’un tas.
HeapCompact Fusionne des blocs de mémoire libres adjacents sur un tas.
TasCréer Crée un objet tas.
HeapDestroy Détruit l’objet tas spécifié.
HeapFree Libère un bloc de mémoire alloué à partir d’un tas.
HeapLock Tente d’acquérir le verrou associé à un tas spécifié.
HeapQueryInformation Récupère des informations sur le tas spécifié.
HeapReAlloc Réalloue un bloc de mémoire à partir d’un tas.
HeapSetInformation Définit les informations de tas pour le tas spécifié.
Heapsize Récupère la taille d’un bloc de mémoire alloué à partir d’un tas.
HeapUnlock Libère la propriété du verrou associé à un tas spécifié.
HeapValidate Tente de valider un tas spécifié.
HeapWalk Énumère les blocs de mémoire dans un tas spécifié.

Fonctions de mémoire virtuelle

Il s’agit des fonctions de mémoire virtuelle.

Fonction Description
DiscardVirtualMemory Ignore le contenu de la mémoire d’une plage de pages mémoire, sans désengagement de la mémoire. Le contenu de la mémoire ignorée n’est pas défini et doit être réécrit par l’application.
OfferVirtualMemory Indique que les données contenues dans une plage de pages de mémoire ne sont plus nécessaires par l’application et peuvent être ignorées par le système si nécessaire.
PrefetchVirtualMemory Préfète les plages d’adresses virtuelles dans la mémoire physique.
QueryVirtualMemoryInformation Retourne des informations sur une page ou un ensemble de pages dans l’espace d’adressage virtuel du processus spécifié.
ReclaimVirtualMemory Récupère une plage de pages de mémoire qui ont été offertes au système avec OfferVirtualMemory.
SetProcessValidCallTargets Fournit à CFG une liste de cibles d’appels indirects valides et spécifie si elles doivent être marquées valides ou non.
VirtualAlloc Réserve ou valide une région de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualAlloc2 Réserve, valide ou modifie l’état d’une région de mémoire dans l’espace d’adressage virtuel d’un processus spécifié. La fonction initialise la mémoire qu’elle alloue à zéro.
VirtualAlloc2FromApp Réserve, valide ou modifie l’état d’une région de pages dans l’espace d’adressage virtuel du processus appelant. La mémoire allouée par cette fonction est automatiquement initialisée à zéro.
VirtualAllocEx Réserve ou valide une région de pages dans l’espace d’adressage virtuel du processus spécifié.
VirtualAllocExNuma Réserve ou valide une région de mémoire dans l’espace d’adressage virtuel du processus spécifié, et spécifie le nœud NUMA pour la mémoire physique.
VirtualAllocFromApp Réserve, valide ou modifie l’état d’une région de pages dans l’espace d’adressage virtuel du processus appelant. La mémoire allouée par cette fonction est automatiquement initialisée à zéro.
VirtualFree Libère ou désengage une région de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualFreeEx Libère ou désengage une région de mémoire dans l’espace d’adressage virtuel d’un processus spécifié.
VirtualLock Verrouille la région spécifiée de l’espace d’adressage virtuel du processus dans la mémoire physique.
VirtualProtect Modifie la protection d’accès sur une région de pages validées dans l’espace d’adressage virtuel du processus d’appel.
VirtualProtectEx Modifie la protection d’accès sur une région de pages validées dans l’espace d’adressage virtuel du processus d’appel.
VirtualProtectFromApp Modifie la protection sur une région de pages validées dans l’espace d’adressage virtuel du processus d’appel.
VirtualQuery Fournit des informations sur une plage de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualQueryEx Fournit des informations sur une plage de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualUnlock Déverrouille une plage de pages spécifiée dans l’espace d’adressage virtuel d’un processus.

Fonctions globales et locales

Consultez également les fonctions globales et locales. Ces fonctions sont fournies pour la compatibilité avec Windows 16 bits et sont utilisées avec Dynamic Data Exchange (DDE), les fonctions du Presse-papiers et les objets de données OLE. Sauf si la documentation indique spécifiquement qu’une fonction globale ou locale doit être utilisée, les nouvelles applications doivent utiliser la fonction de tas correspondante avec le handle retourné par GetProcessHeap. Pour obtenir des fonctionnalités équivalentes à la fonction globale ou locale, définissez le paramètre dwFlags de la fonction de tas sur 0.

Fonction Description Fonction de tas correspondante
GlobalAlloc, LocalAlloc Alloue le nombre spécifié d’octets du tas. HeapAlloc
GlobalDiscard, LocalDiscard Ignore le bloc de mémoire globale spécifié. Non applicable.
GlobalFlags, LocalFlags Retourne des informations sur l’objet de mémoire globale spécifié. Non applicable. Utilisez HeapValidate pour valider le tas.
GlobalFree, LocalFree Libère l’objet de mémoire globale spécifié. HeapFree
GlobalHandle, LocalHandle Récupère le handle associé au pointeur spécifié vers un bloc de mémoire global. Cette fonction doit être utilisée uniquement avec ole et les fonctions du Presse-papiers qui en ont besoin. Non applicable.
GlobalLock, LocalLock Verrouille un objet de mémoire globale et retourne un pointeur vers le premier octet du bloc de mémoire de l’objet. Non applicable.
GlobalReAlloc, LocalReAlloc Modifie la taille ou les attributs d’un objet de mémoire globale spécifié. HeapReAlloc
GlobalSize, LocalSize Récupère la taille actuelle de l’objet de mémoire globale spécifié. Heapsize
GlobalUnlock, LocalUnlock Décrémente le nombre de verrous associé à un objet mémoire. Cette fonction doit être utilisée uniquement avec ole et les fonctions du Presse-papiers qui en ont besoin. Non applicable.

Fonctions de mémoire incorrectes

Fonction Description
BadMemoryCallbackRoutine Fonction définie par l’application inscrite auprès de la fonction RegisterBadMemoryNotification appelée lorsqu’une ou plusieurs pages de mémoire incorrectes sont détectées.
GetMemoryErrorHandlingCapabilities Obtient les fonctionnalités de gestion des erreurs de mémoire du système.
RegisterBadMemoryNotification Enregistre une notification de mémoire incorrecte appelée lorsqu’une ou plusieurs pages de mémoire incorrectes sont détectées.
UnregisterBadMemoryNotification Ferme le handle de notification de mémoire incorrecte spécifié.

Fonctions d’enclave

Fonction Description
CreateEnclave Crée une enclave non initialisée. Une enclave est une région isolée de code et de données dans l’espace d’adressage d’une application. Seul le code qui s’exécute dans l’enclave peut accéder aux données au sein de la même enclave.
InitializeEnclave Initialise une enclave que vous avez créée et chargée avec des données.
IsEnclaveTypeSupported Récupère si le type d’enclave spécifié est pris en charge.
LoadEnclaveData Charge des données dans une enclave non initialisée que vous avez créée en appelant CreateEnclave.

Fonctions de thunk ATL

Fonction Description
AtlThunk_AllocateData Alloue de l’espace en mémoire pour un thunk ATL.
AtlThunk_DataToCode Retourne une fonction exécutable correspondant au paramètre AtlThunkData_t.
AtlThunk_FreeData Libère la mémoire associée à un thunk ATL.
AtlThunk_InitData Initialise un thunk ATL.

Fonctions obsolètes

Ces fonctions sont fournies uniquement à des fins de compatibilité avec les versions 16 bits de Windows :

La fonction ci-dessous peut retourner des informations incorrectes et ne doit pas être utilisée. Utilisez plutôt la fonction GlobalMemoryStatusEx .