[Rediffed PATCH] ntdll: Add stub for RtlGetUnloadEventTrace

Louis Lenders xerox.xerox2000x at gmail.com
Tue Oct 3 13:57:40 CDT 2017


Rediffed against current git because of apply failure. Apparently previous
version was diffed against staging, sorry about that.
------------------------------



Hi, this fixes a crash in https://bugs.winehq.org/show_bug.cgi?id=42997

The function is documented
here:https://msdn.microsoft.com/en-us/library/bb432428(v=vs.85).aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20171003/5f9fd3a4/attachment.html>
-------------- next part --------------
From 938717151e2da3390ffa167b758141cdda32bf8d Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x at gmail.com>
Date: Tue, 3 Oct 2017 20:50:03 +0200
Subject: [PATCH] [PATCH] ntdll: Add stub for RtlGetUnloadEventTrace

Signed-off-by: Louis Lenders <xerox.xerox2000x at gmail.com>
---
 dlls/ntdll/ntdll.spec   |  2 +-
 dlls/ntdll/ntdll_misc.h | 14 ++++++++++++++
 dlls/ntdll/rtl.c        |  9 +++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 5e27f0a..130d7a8 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -669,7 +669,7 @@
 # @ stub RtlGetSecurityDescriptorRMControl
 # @ stub RtlGetSetBootStatusData
 @ stdcall RtlGetThreadErrorMode()
-# @ stub RtlGetUnloadEventTrace
+@ stdcall RtlGetUnloadEventTrace()
 @ stub RtlGetUserInfoHeap
 @ stdcall RtlGetVersion(ptr)
 @ stub RtlGuidToPropertySetName
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 907bbdd..a8b1abf 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -33,6 +33,8 @@
 
 #define MAX_DOS_DRIVES 26
 
+#define RTL_UNLOAD_EVENT_TRACE_NUMBER 64
+
 #if defined(__i386__) || defined(__x86_64__)
 static const UINT_PTR page_size = 0x1000;
 #else
@@ -45,6 +47,18 @@ struct drive_info
     ino_t ino;
 };
 
+typedef struct _RTL_UNLOAD_EVENT_TRACE
+{
+    PVOID BaseAddress;
+    SIZE_T SizeOfImage;
+    ULONG Sequence;
+    ULONG TimeDateStamp;
+    ULONG CheckSum;
+    WCHAR ImageName[32];
+} RTL_UNLOAD_EVENT_TRACE, *PRTL_UNLOAD_EVENT_TRACE;
+
+RTL_UNLOAD_EVENT_TRACE RtlpUnloadEventTrace[RTL_UNLOAD_EVENT_TRACE_NUMBER];
+
 extern NTSTATUS close_handle( HANDLE ) DECLSPEC_HIDDEN;
 extern ULONG_PTR get_system_affinity_mask(void) DECLSPEC_HIDDEN;
 
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c
index 8630dde..c11bbb0 100644
--- a/dlls/ntdll/rtl.c
+++ b/dlls/ntdll/rtl.c
@@ -1653,3 +1653,12 @@ NTSTATUS WINAPI RtlCreateUserProcess(UNICODE_STRING *path, ULONG attributes, RTL
                                      parent, inherit, debug, exception, info);
     return STATUS_NOT_IMPLEMENTED;
 }
+
+/*********************************************************************
+ *           RtlGetUnloadEventTrace [NTDLL.@]
+ */
+PRTL_UNLOAD_EVENT_TRACE WINAPI RtlGetUnloadEventTrace(void)
+{
+    FIXME("stub!\n");
+    return NULL;
+}
-- 
2.7.4



More information about the wine-patches mailing list