From f9a455964c818392f6c0796b66ba11e3611b4fa6 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Thu, 28 Apr 2011 16:06:23 -0500
Subject: [PATCH] advapi32: Add OpenTraceA/W stubs.

---
 dlls/advapi32/advapi32.spec |  4 ++--
 dlls/advapi32/eventlog.c    | 20 ++++++++++++++++++++
 include/evntrace.h          |  2 ++
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 9bb202d8480..59a4084c99c 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -441,8 +441,8 @@
 @ stdcall OpenServiceA(long str long)
 @ stdcall OpenServiceW(long wstr long)
 @ stdcall OpenThreadToken(long long long ptr)
-# @ stub OpenTraceA
-# @ stub OpenTraceW
+@ stdcall -ret64 OpenTraceA(ptr)
+@ stdcall -ret64 OpenTraceW(ptr)
 @ stdcall PrivilegeCheck(ptr ptr ptr)
 @ stdcall PrivilegedServiceAuditAlarmA(str str long ptr long)
 @ stdcall PrivilegedServiceAuditAlarmW(wstr wstr long ptr long)
diff --git a/dlls/advapi32/eventlog.c b/dlls/advapi32/eventlog.c
index d76e0de87ab..f6a0f7e1b91 100644
--- a/dlls/advapi32/eventlog.c
+++ b/dlls/advapi32/eventlog.c
@@ -851,3 +851,23 @@ ULONG WINAPI QueryTraceW( TRACEHANDLE handle, LPCWSTR sessionname, PEVENT_TRACE_
     FIXME("%s %s %p: stub\n", wine_dbgstr_longlong(handle), debugstr_w(sessionname), properties);
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
+
+/******************************************************************************
+ * OpenTraceA [ADVAPI32.@]
+ */
+TRACEHANDLE WINAPI OpenTraceA( PEVENT_TRACE_LOGFILEA logfile )
+{
+    FIXME("%p: stub\n", logfile);
+    SetLastError(ERROR_ACCESS_DENIED);
+    return INVALID_PROCESSTRACE_HANDLE;
+}
+
+/******************************************************************************
+ * OpenTraceW [ADVAPI32.@]
+ */
+TRACEHANDLE WINAPI OpenTraceW( PEVENT_TRACE_LOGFILEW logfile )
+{
+    FIXME("%p: stub\n", logfile);
+    SetLastError(ERROR_ACCESS_DENIED);
+    return INVALID_PROCESSTRACE_HANDLE;
+}
diff --git a/include/evntrace.h b/include/evntrace.h
index 41083ae4f06..4cacc840cb4 100644
--- a/include/evntrace.h
+++ b/include/evntrace.h
@@ -202,6 +202,8 @@ typedef struct _EVENT_TRACE_PROPERTIES
     ULONG LoggerNameOffset;
 } EVENT_TRACE_PROPERTIES, *PEVENT_TRACE_PROPERTIES;
 
+#define INVALID_PROCESSTRACE_HANDLE ((TRACEHANDLE)~(ULONG_PTR)0)
+
 ULONG WINAPI CloseTrace(TRACEHANDLE);
 ULONG WINAPI ControlTraceA(TRACEHANDLE,LPCSTR,PEVENT_TRACE_PROPERTIES,ULONG);
 ULONG WINAPI ControlTraceW(TRACEHANDLE,LPCWSTR,PEVENT_TRACE_PROPERTIES,ULONG);
-- 
GitLab