Функция RtlGetUnloadEventTraceEx
Извлекает размер и расположение динамически выгруженного списка модулей для текущего процесса.
Синтаксис
VOID WINAPI RtlGetUnloadEventTraceEx(
_Out_ PULONG *ElementSize,
_Out_ PULONG *ElementCount,
_Out_ PVOID *EventTrace
);
Параметры
-
ElementSize [out]
-
Указатель на переменную, содержащую размер элемента в списке.
-
ElementCount [out]
-
Указатель на переменную, содержащую количество элементов в списке.
-
EventTrace [out]
-
Указатель на массив RTL_UNLOAD_EVENT_TRACE структур. Дополнительные сведения см. в подразделе "Примечания".
Возвращаемое значение
Эта функция не возвращает значение.
Комментарии
Загрузчик хранит выгруженные сведения о событиях в расположениях, которые можно считывать в разных процессах, используя тот факт, что Ntdll.dll загружается по одному базовому адресу во всех процессах. Когда отладчику необходимо запросить выгруженные сведения о модуле, он вызывает эту функцию для определения адреса, по которому находятся переменные, а затем запрашивает виртуальную память в целевом процессе по этим адресам для считывания фактических значений.
Каждый элемент в списке определяется следующим образом.
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;
У этой функции нет связанного файла заголовка. Связанная библиотека импорта Ntdll.lib доступна в комплекте драйверов Windows (WDK). Эту функцию также можно вызвать с помощью функций LoadLibrary и GetProcAddress .
Требования
Требование | Значение |
---|---|
DLL |
|