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.
CopyDeviceMemory Copie la mémoire d’un emplacement vers un autre sans interférence des optimisations du compilateur dans les situations où le développeur doit également être sûr que des erreurs d’alignement ne seront pas générées lors de l’accès à la mémoire de l’appareil.
CopyMemory Copie un bloc de mémoire d’un emplacement à un autre.
CopyVolatileMemory Copie le contenu d’un bloc de mémoire source vers un bloc de mémoire de destination.
CreateMemoryResourceNotification Crée un objet de notification de ressource mémoire.
FillDeviceMemory Définit le contenu d’une mémoire tampon sans interférence des optimisations du compilateur dans les situations où le développeur doit également être sûr que des erreurs d’alignement ne seront pas générées lors de l’accès à la mémoire de l’appareil.
FillMemory Remplit un bloc de mémoire avec une valeur spécifiée.
FillVolatileMemory Remplit un bloc de mémoire avec la valeur de remplissage spécifiée.
GetLargePageMinimum Récupère la taille minimale d’une grande page.
GetPhysicallyInstalledSystemMemory Récupère la quantité de RAM installée physiquement sur l’ordinateur.
GetSystemFileCacheSize Récupère les limites de taille actuelles pour la plage 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.
MoveVolatileMemory Copie le contenu d’un bloc de mémoire source dans un bloc de mémoire de destination, et prend en charge les blocs de mémoire source et de destination qui se chevauchent.
QueryMemoryResourceNotification Récupère l’état de l’objet de ressource mémoire spécifié.
RemoveSecureMemoryCacheCallback Désinscrit une fonction de rappel qui était inscrite auprès de la fonction AddSecureMemoryCacheCallback.
ResetWriteWatch Réinitialise l’état de suivi d’écriture pour une région de mémoire virtuelle.
SecureMemoryCacheCallback Fonction définie par l’application qui est 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.
SecureZeroMemory2 Remplit un bloc de mémoire avec des zéros d’une manière qui est garantie d’être sécurisée.
SetSystemFileCacheSize Limite la taille du jeu de travail pour le cache du système de fichiers.
ZeroDeviceMemory Définit le contenu d’une mémoire tampon sur des zéros sans interférence des optimisations du compilateur dans les situations où le développeur doit également être sûr que des erreurs d’alignement ne seront pas générées lors de l’accès à la mémoire de l’appareil.
ZeroMemory Remplit un bloc de mémoire avec des zéros.
ZeroVolatileMemory 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 (PED).

Fonction Description
GetProcessDEPPolicy Récupère les paramètres PED pour un processus.
GetSystemDEPPolicy Récupère les paramètres PED pour le système.
SetProcessDEPPolicy Change les paramètres PED pour 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 non nommé pour un fichier spécifié.
CreateFileMappingW Crée ou ouvre un objet de mappage de fichiers nommé ou non nommé pour un fichier spécifié.
CreateFileMapping2 Crée ou ouvre un objet de mappage de fichiers nommé ou non nommé 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 ; voir le paramètre ExtendedParameters.
CreateFileMappingFromApp Crée ou ouvre un objet de mappage de fichiers nommé ou non nommé pour un fichier spécifié d’une application Windows Store.
CreateFileMappingNuma Crée ou ouvre un objet de mappage de fichiers nommé ou non nommé 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 tel 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 basé sur un fichier de pagination dans l’espace d’adressage du processus spécifié.
MapViewOfFile3 Mappe une vue d’un fichier ou d’une section basé sur un fichier de pagination 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 d’une application 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 d’une application Windows Store.
MapViewOfFileNuma2 Mappe une vue d’un fichier ou d’une section basé sur un fichier de pagination dans l’espace d’adressage du processus spécifié.
OpenFileMapping Ouvre un objet de mappage de fichier nommé.
OpenFileMappingFromApp Ouvre un objet de mappage de fichier nommé.
UnmapViewOfFile Démappe une vue mappée d’un fichier à partir de l’espace d’adressage du processus appelant.
UnmapViewOfFile2 Démappe une vue précédemment mappée d’un fichier ou d’une section basée sur un fichier de pagination.
UnmapViewOfFileEx Démappe une vue précédemment mappée d’un fichier ou d’une section basée sur un fichier de pagination.

Fonctions AWE

Les fonctions suivantes sont des fonctions AWE.

Fonction Description
AllocateUserPhysicalPages Alloue des pages de mémoire physique à mapper et démapper dans n’importe quelle région AWE du processus.
AllocateUserPhysicalPagesNuma Alloue des 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 qui ont été 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

Les fonctions suivantes sont les fonctions de tas.

Fonction Description
GetProcessHeap Obtient un descripteur dans le tas du processus appelant.
GetProcessHeaps Obtient des descripteurs dans tous les tas qui sont valides pour le processus appelant.
HeapAlloc Alloue un bloc de mémoire d’un tas.
HeapCompact Fusionne les blocs de mémoire adjacents libres sur un tas.
HeapCreate Crée un objet tas.
HeapDestroy Détruit l’objet tas spécifié.
HeapFree Libère un bloc de mémoire alloué d’un tas.
HeapLock Tente d’acquérir le verrou associé à un tas spécifié.
HeapQueryInformation Récupère les informations concernant le tas spécifié.
HeapReAlloc Réalloue un bloc de mémoire 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 d’un tas spécifié.

Fonctions de mémoire virtuelle

Les fonctions suivantes sont les fonctions de mémoire virtuelle.

Fonction Description
DiscardVirtualMemory Ignore le contenu de la mémoire d’une plage de pages mémoire, sans désallouer 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 mémoire ne sont plus requises par l’application et peuvent être ignorées par le système, si nécessaire.
PrefetchVirtualMemory Prérécupère 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 mémoire qui ont été proposées 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 change 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 change 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 change 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ésalloue une région de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualFreeEx Libère ou désalloue 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 Change la protection de l’accès sur une région de pages validées dans l’espace d’adressage virtuel du processus appelant.
VirtualProtectEx Change la protection de l’accès sur une région de pages validées dans l’espace d’adressage virtuel du processus appelant.
VirtualProtectFromApp Change la protection sur une région de pages validées dans l’espace d’adressage virtuel du processus appelant.
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 aussi Fonctions globales et locales. Ces fonctions sont fournies pour la compatibilité avec Windows 16 bits et sont utilisées avec l’échange dynamique de données, 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 descripteur 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 global spécifié. Non applicable.
GlobalFlags, LocalFlags Retourne des informations sur l’objet mémoire global spécifié. Non applicable. Utilisez HeapValidate pour valider le tas.
GlobalFree, LocalFree Libère l’objet mémoire global spécifié. HeapFree
GlobalHandle, LocalHandle Récupère le descripteur associé au pointeur spécifié vers un bloc de mémoire global. Cette fonction doit être utilisée uniquement avec les fonctions OLE et du Presse-papiers qui en ont besoin. Non applicable.
GlobalLock, LocalLock Verrouille un objet mémoire global et retourne un pointeur vers le premier octet du bloc de mémoire de l’objet. Non applicable.
GlobalReAlloc, LocalReAlloc Change la taille ou les attributs d’un objet mémoire global spécifié. HeapReAlloc
GlobalSize, LocalSize Récupère la taille actuelle de l’objet mémoire global 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 les fonctions OLE et du Presse-papiers qui en ont besoin. Non applicable.

Fonctions de mémoire défaillante

Fonction Description
BadMemoryCallbackRoutine Fonction définie par l’application inscrite auprès de la fonction RegisterBadMemoryNotification qui est appelée lorsqu’une ou plusieurs pages de mémoire défaillante 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 défaillante qui est appelée lorsqu’une ou plusieurs pages de mémoire défaillante sont détectées.
UnregisterBadMemoryNotification Ferme le descripteur de notification de mémoire défaillante spécifié.

Fonctions d’enclave

Fonction Description
CreateEnclave Crée une nouvelle 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 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 pour la 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.