Partager via


GetProcessHeaps, fonction (heapapi.h)

Retourne le nombre de tas actifs et récupère les handles à tous les tas actifs pour le processus d’appel.

Syntaxe

DWORD GetProcessHeaps(
  [in]  DWORD   NumberOfHeaps,
  [out] PHANDLE ProcessHeaps
);

Paramètres

[in] NumberOfHeaps

Nombre maximal de handles de tas pouvant être stockés dans la mémoire tampon pointée par ProcessHeaps.

[out] ProcessHeaps

Pointeur vers une mémoire tampon qui reçoit un tableau de handles de tas.

Valeur retournée

La valeur de retour est le nombre de handles vers les tas actifs pour le processus d’appel.

Si la valeur de retour est inférieure ou égale à NumberOfHeaps, la fonction a stocké ce nombre de handles de tas dans la mémoire tampon pointée par ProcessHeaps.

Si la valeur de retour est supérieure à NumberOfHeaps, la mémoire tampon pointée par ProcessHeaps est trop petite pour contenir tous les handles de tas pour le processus appelant, et la fonction stocke les handles NumberOfHeaps dans la mémoire tampon. Utilisez la valeur de retour pour allouer une mémoire tampon suffisamment grande pour recevoir tous les handles, puis appelez à nouveau la fonction.

Si la valeur de retour est zéro, la fonction a échoué, car chaque processus a au moins un tas actif, le tas par défaut du processus. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction GetProcessHeaps obtient un handle pour le tas par défaut du processus appelant, ainsi que des handles pour tous les tas privés supplémentaires créés en appelant la fonction HeapCreate sur n’importe quel thread du processus.

La fonction GetProcessHeaps est principalement utile pour le débogage, car certains des tas privés récupérés par la fonction peuvent avoir été créés par d’autres codes en cours d’exécution dans le processus et peuvent être détruits après le retour de GetProcessHeaps . La destruction d’un tas invalide le handle dans le tas, et l’utilisation continue de ces handles peut entraîner un comportement non défini dans l’application. Les fonctions de tas doivent être appelées uniquement sur le tas par défaut du processus appelant et sur les tas privés que le processus crée et gère.

Pour obtenir un handle vers le tas de processus du processus appelant, utilisez la fonction GetProcessHeap .

Exemples

Pour obtenir un exemple, consultez Obtention de tas de processus.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête heapapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

GetProcessHeap

Fonctions de tas

TasCréer

Fonctions de gestion de la mémoire

API Vertdll disponibles dans les enclaves VBS