RtlGetUnloadEventTraceEx-Funktion
Ruft die Größe und den Speicherort der dynamisch entladenen Modulliste für den aktuellen Prozess ab.
Syntax
VOID WINAPI RtlGetUnloadEventTraceEx(
_Out_ PULONG *ElementSize,
_Out_ PULONG *ElementCount,
_Out_ PVOID *EventTrace
);
Parameter
-
ElementSize [out]
-
Ein Zeiger auf eine Variable, die die Größe eines Elements in der Liste enthält.
-
ElementCount [out]
-
Ein Zeiger auf eine Variable, die die Anzahl der Elemente in der Liste enthält.
-
EventTrace [out]
-
Ein Zeiger auf ein Array von RTL_UNLOAD_EVENT_TRACE Strukturen. Weitere Informationen finden Sie in den Hinweisen.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Das Ladeprogramm speichert entladene Ereignisinformationen an Speicherorten, die prozessübergreifend gelesen werden können, indem er die Tatsache nutzt, dass Ntdll.dll in allen Prozessen an derselben Basisadresse geladen wird. Wenn ein Debugger entladene Modulinformationen abfragen muss, ruft er diese Funktion auf, um die Adresse zu bestimmen, an der sich die Variablen befinden, und fragt dann den virtuellen Arbeitsspeicher im Zielprozess an diesen Adressen ab, um die tatsächlichen Werte zu lesen.
Jedes Element in der Liste wird wie folgt definiert.
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;
Diese Funktion verfügt über keine zugeordnete Headerdatei. Die zugehörige Importbibliothek Ntdll.lib ist im Windows Driver Kit (WDK) verfügbar. Sie können diese Funktion auch mit den Funktionen LoadLibrary und GetProcAddress aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
DLL |
|