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;
此函数没有关联的头文件。 Windows 驱动程序工具包 (WDK) 中提供了关联的导入库 Ntdll.lib。 还可以使用 LoadLibrary 和 GetProcAddress 函数调用此函数。
要求
要求 | 值 |
---|---|
DLL |
|