Partager via


Fonction RtlGetUnloadEventTraceEx

Récupère la taille et l’emplacement de la liste des modules déchargés dynamiquement pour le processus actuel.

Syntaxe

VOID WINAPI RtlGetUnloadEventTraceEx(
  _Out_ PULONG *ElementSize,
  _Out_ PULONG *ElementCount,
  _Out_ PVOID  *EventTrace
);

Paramètres

ElementSize [out]

Pointeur vers une variable qui contient la taille d’un élément dans la liste.

ElementCount [out]

Pointeur vers une variable qui contient le nombre d’éléments dans la liste.

EventTrace [out]

Pointeur vers un tableau de structures RTL_UNLOAD_EVENT_TRACE . Pour plus d'informations, consultez la section Notes.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

Le chargeur stocke des informations sur les événements déchargés dans des emplacements qui peuvent être lus entre les processus en tirant parti du fait que Ntdll.dll est chargé à la même adresse de base dans tous les processus. Lorsqu’un débogueur doit interroger des informations de module déchargées, il appelle cette fonction pour déterminer l’adresse à laquelle résident les variables, puis interroge la mémoire virtuelle dans le processus cible à ces adresses pour lire les valeurs réelles.

Chaque élément de la liste est défini comme suit.

typedef struct _RTL_UNLOAD_EVENT_TRACE {
    PVOID BaseAddress;   // Base address of dll
    SIZE_T SizeOfImage;  // Size of image
    ULONG Sequence;      // Sequence number for this event
    ULONG TimeDateStamp; // Time and date of image
    ULONG CheckSum;      // Image checksum
    WCHAR ImageName[32]; // Image name
} RTL_UNLOAD_EVENT_TRACE, *PRTL_UNLOAD_EVENT_TRACE;

Cette fonction n’a aucun fichier d’en-tête associé. La bibliothèque d’importation associée, Ntdll.lib, est disponible dans le Kit de pilotes Windows (WDK). Vous pouvez également appeler cette fonction à l’aide des fonctions LoadLibrary et GetProcAddress .

Spécifications

Condition requise Valeur
DLL
Ntdll.dll