diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 9bb202d848057d381f5ccffcaa47cc55714f5db3..59a4084c99c9eb409419de2b36e4d153d03c1568 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 d76e0de87ab05a3272868d5eba4f489455eda068..f6a0f7e1b910afa2e9185b7c8751d6f882521a9d 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 41083ae4f0658a6bc374cda2a16687541bd2d161..4cacc840cb40ac18dd4970fd16917f69e4966a54 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);