Partager via


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 les 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 dans 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 les 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.
GetPhysicalInstalledSystemMemory Récupère la quantité de RAM installée physiquement 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 du système de mémoire physique et virtuelle.
MoveMemory Déplace un bloc de mémoire d’un emplacement vers un autre.
MoveVolatileMemory Copie le contenu d’un bloc de mémoire source vers 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 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 d’écriture 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.
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 zéros sans interférence des optimisations du compilateur dans les situations où le développeur doit également être sûr que les 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 protection contre l’exécution des données (DEP).

Fonction Description
GetProcessDEPPolicy Récupère les paramètres DEP d’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 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 ; consultez le paramètre ExtendedParameters.
CreateFileMappingFromApp Crée ou ouvre un objet de mappage de fichiers nommé ou non nommé 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 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é. Dans ce 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 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 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 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 sauvegardée par un fichier de page.
UnmapViewOfFileEx Annule le mappage d’une vue précédemment mappée d’un fichier ou d’une section sauvegardée par un fichier de page.

Fonctions AWE

Il s’agit des fonctions AWE .

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

Il s’agit des fonctions de tas .

Fonction Description
GetProcessHeap Obtient un handle dans le tas du processus appelant.
GetProcessHeaps Obtient des handles sur tous les tas valides pour le processus appelant.
HeapAlloc Alloue un bloc de mémoire à partir d’un tas.
heapCompact Fusionne les blocs libres adjacents de mémoire 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é à 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é.
tasSize 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 de mémoire, sans supprimer 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 Plages d’adresses virtuelles prérécupérations en 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é 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 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écommit une région de pages dans l’espace d’adressage virtuel du processus appelant.
VirtualFreeEx Libère ou décommit 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 en 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 appelant.
virtualProtectEx Modifie la protection d’accès sur une région de pages validées dans l’espace d’adressage virtuel du processus appelant.
VirtualProtectFromApp Modifie 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 également 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 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 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é. Sans objet.
GlobalFlags, LocalFlags Retourne des informations sur l’objet mémoire globale spécifié. Sans objet. 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 les fonctions OLE et presse-papiers qui en ont besoin. Sans objet.
GlobalLock, LocalLock Verrouille un objet mémoire globale et retourne un pointeur vers le premier octet du bloc de mémoire de l’objet. Sans objet.
GlobalReAlloc, LocalReAlloc Modifie la taille ou les attributs d’un objet mémoire globale spécifié. heapReAlloc
GlobalSize, LocalSize Récupère la taille actuelle de l’objet mémoire globale spécifié. tasSize
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 presse-papiers qui en ont besoin. Sans objet.

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 dans 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 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.