diff --git a/dll/ntdll/def/ntdll.spec b/dll/ntdll/def/ntdll.spec index da5e3614322..00e2ee107ad 100644 --- a/dll/ntdll/def/ntdll.spec +++ b/dll/ntdll/def/ntdll.spec @@ -679,7 +679,7 @@ @ stdcall RtlGetSecurityDescriptorRMControl(ptr ptr) @ stdcall RtlGetSetBootStatusData(ptr long long ptr long long) @ stdcall RtlGetThreadErrorMode() -@ stdcall -stub RtlGetUnloadEventTrace() +@ stdcall RtlGetUnloadEventTrace() @ stdcall RtlGetUserInfoHeap(ptr long ptr ptr ptr) @ stdcall RtlGetVersion(ptr) @ stdcall RtlHashUnicodeString(ptr long long ptr) diff --git a/sdk/include/ndk/rtltypes.h b/sdk/include/ndk/rtltypes.h index 02d65a29719..ee3206768e6 100644 --- a/sdk/include/ndk/rtltypes.h +++ b/sdk/include/ndk/rtltypes.h @@ -1224,6 +1224,8 @@ typedef struct _RTL_FLS_DATA // // Unload Event Trace Structure for RtlGetUnloadEventTrace // +#define RTL_UNLOAD_EVENT_TRACE_NUMBER 64 + typedef struct _RTL_UNLOAD_EVENT_TRACE { PVOID BaseAddress; diff --git a/sdk/lib/rtl/trace.c b/sdk/lib/rtl/trace.c index 3979a502855..f0bf4578a01 100644 --- a/sdk/lib/rtl/trace.c +++ b/sdk/lib/rtl/trace.c @@ -10,8 +10,18 @@ #define NDEBUG #include +static RTL_UNLOAD_EVENT_TRACE RtlpUnloadEventTrace[RTL_UNLOAD_EVENT_TRACE_NUMBER]; + /* FUNCTIONS ******************************************************************/ +PRTL_UNLOAD_EVENT_TRACE +NTAPI +RtlGetUnloadEventTrace(VOID) +{ + /* Just return a pointer to an array, according to MSDN */ + return RtlpUnloadEventTrace; +} + BOOLEAN NTAPI RtlTraceDatabaseAdd(IN PRTL_TRACE_DATABASE Database,