advapi32: Move event tracing APIs to sechost.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Zebediah Figura 2020-04-25 15:40:24 -05:00 committed by Alexandre Julliard
parent dedd5ccc88
commit aa6e060172
6 changed files with 185 additions and 167 deletions

View File

@ -1,7 +1,7 @@
EXTRADEFS = -D_ADVAPI32_
MODULE = advapi32.dll
IMPORTLIB = advapi32
IMPORTS = kernelbase
IMPORTS = kernelbase sechost
DELAYIMPORTS = rpcrt4
EXTRALIBS = $(SECURITY_LIBS)

View File

@ -102,14 +102,14 @@
@ stdcall CloseEventLog (long)
@ stdcall CloseServiceHandle(long)
# @ stub CloseThreadWaitChainSession
@ stdcall CloseTrace(int64)
@ stdcall -import CloseTrace(int64)
@ stdcall CommandLineFromMsiDescriptor(wstr ptr ptr)
# @ stub ComputeAccessTokenFromCodeAuthzLevel
@ stdcall ControlService(long long ptr)
# @ stub ControlServiceExA
# @ stub ControlServiceExW
@ stdcall ControlTraceA(int64 str ptr long)
@ stdcall ControlTraceW(int64 wstr ptr long)
@ stdcall -import ControlTraceA(int64 str ptr long)
@ stdcall -import ControlTraceW(int64 wstr ptr long)
# @ stub ConvertAccessToSecurityDescriptorA
# @ stub ConvertAccessToSecurityDescriptorW
# @ stub ConvertSDToStringSDDomainW
@ -265,7 +265,7 @@
@ stub ElfReportEventW
@ stdcall EnableTrace(long long long ptr int64)
@ stdcall EnableTraceEx(ptr ptr int64 long long int64 int64 long ptr)
@ stdcall EnableTraceEx2(int64 ptr long long int64 int64 long ptr)
@ stdcall -import EnableTraceEx2(int64 ptr long long int64 int64 long ptr)
@ stdcall EncryptFileA(str)
@ stdcall EncryptFileW(wstr)
# @ stub EncryptedFileKeyInfo
@ -550,7 +550,7 @@
@ stdcall -import OpenThreadToken(long long long ptr)
# @ stub OpenThreadWaitChainSession
@ stdcall -ret64 OpenTraceA(ptr)
@ stdcall -ret64 OpenTraceW(ptr)
@ stdcall -ret64 -import OpenTraceW(ptr)
# @ stub OperationEnd
# @ stub OperationStart
# @ stub PerfAddCounters
@ -587,9 +587,9 @@
@ stdcall -import PrivilegedServiceAuditAlarmW(wstr wstr long ptr long)
# @ stub ProcessIdleTasks
# @ stub ProcessIdleTasksW
@ stdcall ProcessTrace(ptr long ptr ptr)
@ stdcall QueryAllTracesA(ptr long ptr)
@ stdcall QueryAllTracesW(ptr long ptr)
@ stdcall -import ProcessTrace(ptr long ptr ptr)
@ stdcall -import QueryAllTracesA(ptr long ptr)
@ stdcall -import QueryAllTracesW(ptr long ptr)
# @ stub QueryLocalUserServiceName
# @ stub QueryRecoveryAgentsOnEncryptedFile
# @ stub QuerySecurityAccessMask
@ -772,10 +772,10 @@
@ stdcall StartServiceCtrlDispatcherA(ptr)
@ stdcall StartServiceCtrlDispatcherW(ptr)
@ stdcall StartServiceW(long long ptr)
@ stdcall StartTraceA(ptr str ptr)
@ stdcall StartTraceW(ptr wstr ptr)
@ stdcall -import StartTraceA(ptr str ptr)
@ stdcall -import StartTraceW(ptr wstr ptr)
@ stdcall StopTraceA(int64 str ptr)
@ stdcall StopTraceW(int64 wstr ptr)
@ stdcall -import StopTraceW(int64 wstr ptr)
@ stdcall SynchronizeWindows31FilesAndWindowsNTRegistry(long long long long)
@ stdcall SystemFunction001(ptr ptr ptr)
@ stdcall SystemFunction002(ptr ptr ptr)
@ -820,7 +820,7 @@
@ varargs TraceMessage(int64 long ptr long) ntdll.EtwTraceMessage
@ stdcall TraceMessageVa(int64 long ptr long ptr) ntdll.EtwTraceMessageVa
# @ stub TraceQueryInformation
@ stdcall TraceSetInformation(int64 long ptr long)
@ stdcall -import TraceSetInformation(int64 long ptr long)
# @ stub TreeResetNamedSecurityInfoA
@ stdcall TreeResetNamedSecurityInfoW(wstr long long ptr ptr ptr ptr long ptr long ptr)
# @ stub TreeSetNamedSecurityInfoA

View File

@ -164,30 +164,6 @@ BOOL WINAPI CloseEventLog( HANDLE hEventLog )
return TRUE;
}
/******************************************************************************
* ControlTraceW [ADVAPI32.@]
*
* Control a givel event trace session
*
*/
ULONG WINAPI ControlTraceW( TRACEHANDLE hSession, LPCWSTR SessionName, PEVENT_TRACE_PROPERTIES Properties, ULONG control )
{
FIXME("(%s, %s, %p, %d) stub\n", wine_dbgstr_longlong(hSession), debugstr_w(SessionName), Properties, control);
return ERROR_SUCCESS;
}
/******************************************************************************
* ControlTraceA [ADVAPI32.@]
*
* See ControlTraceW.
*
*/
ULONG WINAPI ControlTraceA( TRACEHANDLE hSession, LPCSTR SessionName, PEVENT_TRACE_PROPERTIES Properties, ULONG control )
{
FIXME("(%s, %s, %p, %d) stub\n", wine_dbgstr_longlong(hSession), debugstr_a(SessionName), Properties, control);
return ERROR_SUCCESS;
}
/******************************************************************************
* FlushTraceA [ADVAPI32.@]
*/
@ -238,20 +214,6 @@ ULONG WINAPI EnableTraceEx( LPCGUID provider, LPCGUID source, TRACEHANDLE hSessi
return ERROR_SUCCESS;
}
/******************************************************************************
* EnableTraceEx2 [ADVAPI32.@]
*/
ULONG WINAPI EnableTraceEx2( TRACEHANDLE handle, LPCGUID provider, ULONG control, UCHAR level,
ULONGLONG match_any, ULONGLONG match_all, ULONG timeout,
PENABLE_TRACE_PARAMETERS params )
{
FIXME("(%s, %s, %u, %u, %s, %s, %u, %p): stub\n", wine_dbgstr_longlong(handle),
debugstr_guid(provider), control, level, wine_dbgstr_longlong(match_any),
wine_dbgstr_longlong(match_all), timeout, params);
return ERROR_SUCCESS;
}
/******************************************************************************
* EnableTrace [ADVAPI32.@]
*/
@ -523,33 +485,6 @@ HANDLE WINAPI OpenEventLogW( LPCWSTR uncname, LPCWSTR source )
return (HANDLE)0xcafe4242;
}
/******************************************************************************
* QueryAllTracesW [ADVAPI32.@]
*
* Query information for started event trace sessions
*
*/
ULONG WINAPI QueryAllTracesW( PEVENT_TRACE_PROPERTIES * parray, ULONG arraycount, PULONG psessioncount )
{
FIXME("(%p, %d, %p) stub\n", parray, arraycount, psessioncount);
if (psessioncount) *psessioncount = 0;
return ERROR_SUCCESS;
}
/******************************************************************************
* QueryAllTracesA [ADVAPI32.@]
*
* See QueryAllTracesW.
*/
ULONG WINAPI QueryAllTracesA( PEVENT_TRACE_PROPERTIES * parray, ULONG arraycount, PULONG psessioncount )
{
FIXME("(%p, %d, %p) stub\n", parray, arraycount, psessioncount);
if (psessioncount) *psessioncount = 0;
return ERROR_SUCCESS;
}
/******************************************************************************
* ReadEventLogA [ADVAPI32.@]
*
@ -727,44 +662,6 @@ BOOL WINAPI ReportEventW( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dw
return TRUE;
}
/******************************************************************************
* StartTraceW [ADVAPI32.@]
*
* Register and start an event trace session
*
*/
ULONG WINAPI StartTraceW( PTRACEHANDLE pSessionHandle, LPCWSTR SessionName, PEVENT_TRACE_PROPERTIES Properties )
{
FIXME("(%p, %s, %p) stub\n", pSessionHandle, debugstr_w(SessionName), Properties);
if (pSessionHandle) *pSessionHandle = 0xcafe4242;
return ERROR_SUCCESS;
}
/******************************************************************************
* StartTraceA [ADVAPI32.@]
*
* See StartTraceW.
*
*/
ULONG WINAPI StartTraceA( PTRACEHANDLE pSessionHandle, LPCSTR SessionName, PEVENT_TRACE_PROPERTIES Properties )
{
FIXME("(%p, %s, %p) stub\n", pSessionHandle, debugstr_a(SessionName), Properties);
if (pSessionHandle) *pSessionHandle = 0xcafe4242;
return ERROR_SUCCESS;
}
/******************************************************************************
* StopTraceW [ADVAPI32.@]
*
* Stop an event trace session
*
*/
ULONG WINAPI StopTraceW( TRACEHANDLE session, LPCWSTR session_name, PEVENT_TRACE_PROPERTIES properties )
{
FIXME("(%s, %s, %p) stub\n", wine_dbgstr_longlong(session), debugstr_w(session_name), properties);
return ERROR_SUCCESS;
}
/******************************************************************************
* StopTraceA [ADVAPI32.@]
*
@ -798,36 +695,6 @@ TRACEHANDLE WINAPI OpenTraceA( PEVENT_TRACE_LOGFILEA logfile )
return INVALID_PROCESSTRACE_HANDLE;
}
/******************************************************************************
* OpenTraceW [ADVAPI32.@]
*/
TRACEHANDLE WINAPI OpenTraceW( PEVENT_TRACE_LOGFILEW logfile )
{
static int once;
if (!once++) FIXME("%p: stub\n", logfile);
SetLastError(ERROR_ACCESS_DENIED);
return INVALID_PROCESSTRACE_HANDLE;
}
/******************************************************************************
* ProcessTrace [ADVAPI32.@]
*/
ULONG WINAPI ProcessTrace( PTRACEHANDLE HandleArray, ULONG HandleCount, LPFILETIME StartTime, LPFILETIME EndTime)
{
FIXME("%p %u %p %p: stub\n", HandleArray, HandleCount, StartTime, EndTime);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/******************************************************************************
* CloseTrace [ADVAPI32.@]
*/
ULONG WINAPI CloseTrace( TRACEHANDLE handle )
{
FIXME("%s: stub\n", wine_dbgstr_longlong(handle));
return ERROR_INVALID_HANDLE;
}
/******************************************************************************
* EnumerateTraceGuids [ADVAPI32.@]
*/
@ -837,12 +704,3 @@ ULONG WINAPI EnumerateTraceGuids(PTRACE_GUID_PROPERTIES *propertiesarray,
FIXME("%p %d %p: stub\n", propertiesarray, arraycount, guidcount);
return ERROR_INVALID_PARAMETER;
}
/******************************************************************************
* TraceSetInformation [ADVAPI32.@]
*/
ULONG WINAPI TraceSetInformation(TRACEHANDLE handle, TRACE_INFO_CLASS infoclass, VOID* info, ULONG len)
{
FIXME("%s %d %p %d: stub\n", wine_dbgstr_longlong(handle), infoclass, info, len);
return ERROR_CALL_NOT_IMPLEMENTED;
}

View File

@ -1,3 +1,8 @@
MODULE = sechost.dll
IMPORTLIB = sechost
IMPORTS = kernelbase
EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
trace.c

View File

@ -24,12 +24,12 @@
@ stdcall ChangeServiceConfigA(long long long long wstr str ptr str str str str) advapi32.ChangeServiceConfigA
@ stdcall ChangeServiceConfigW(long long long long wstr wstr ptr wstr wstr wstr wstr) advapi32.ChangeServiceConfigW
@ stdcall CloseServiceHandle(long) advapi32.CloseServiceHandle
@ stdcall CloseTrace(int64) advapi32.CloseTrace
@ stdcall CloseTrace(int64)
@ stdcall ControlService(long long ptr) advapi32.ControlService
@ stub ControlServiceExA
@ stub ControlServiceExW
@ stdcall ControlTraceA(int64 str ptr long) advapi32.ControlTraceA
@ stdcall ControlTraceW(int64 wstr ptr long) advapi32.ControlTraceW
@ stdcall ControlTraceA(int64 str ptr long)
@ stdcall ControlTraceW(int64 wstr ptr long)
@ stub ConvertSDToStringSDRootDomainW
@ stdcall ConvertSecurityDescriptorToStringSecurityDescriptorW(ptr long long ptr ptr) advapi32.ConvertSecurityDescriptorToStringSecurityDescriptorW
@ stdcall ConvertSidToStringSidW(ptr ptr) advapi32.ConvertSidToStringSidW
@ -85,7 +85,7 @@
@ stub CredpEncodeCredential
@ stub CredpEncodeSecret
@ stdcall DeleteService(long) advapi32.DeleteService
@ stdcall EnableTraceEx2(int64 ptr long long int64 int64 long ptr) advapi32.EnableTraceEx2
@ stdcall EnableTraceEx2(int64 ptr long long int64 int64 long ptr)
@ stdcall EnumDependentServicesW(long long ptr long ptr ptr) advapi32.EnumDependentServicesW
@ stdcall EnumServicesStatusExW(long long long long ptr long ptr ptr ptr wstr) advapi32.EnumServicesStatusExW
@ stub EnumerateIdentityProviders
@ -164,10 +164,10 @@
@ stdcall OpenSCManagerW(wstr wstr long) advapi32.OpenSCManagerW
@ stdcall OpenServiceA(long str long) advapi32.OpenServiceA
@ stdcall OpenServiceW(long wstr long) advapi32.OpenServiceW
@ stdcall -ret64 OpenTraceW(ptr) advapi32.OpenTraceW
@ stdcall ProcessTrace(ptr long ptr ptr) advapi32.ProcessTrace
@ stdcall QueryAllTracesA(ptr long ptr) advapi32.QueryAllTracesA
@ stdcall QueryAllTracesW(ptr long ptr) advapi32.QueryAllTracesW
@ stdcall -ret64 OpenTraceW(ptr)
@ stdcall ProcessTrace(ptr long ptr ptr)
@ stdcall QueryAllTracesA(ptr long ptr)
@ stdcall QueryAllTracesW(ptr long ptr)
@ stub QueryLocalUserServiceName
@ stdcall QueryServiceConfig2A(long long ptr long ptr) advapi32.QueryServiceConfig2A
@ stdcall QueryServiceConfig2W(long long ptr long ptr) advapi32.QueryServiceConfig2W
@ -198,11 +198,11 @@
@ stdcall StartServiceCtrlDispatcherA(ptr) advapi32.StartServiceCtrlDispatcherA
@ stdcall StartServiceCtrlDispatcherW(ptr) advapi32.StartServiceCtrlDispatcherW
@ stdcall StartServiceW(long long ptr) advapi32.StartServiceW
@ stdcall StartTraceA(ptr str ptr) advapi32.StartTraceA
@ stdcall StartTraceW(ptr wstr ptr) advapi32.StartTraceW
@ stdcall StopTraceW(int64 wstr ptr) advapi32.StopTraceW
@ stdcall StartTraceA(ptr str ptr)
@ stdcall StartTraceW(ptr wstr ptr)
@ stdcall StopTraceW(int64 wstr ptr)
@ stub SubscribeServiceChangeNotifications
@ stub TraceQueryInformation
@ stdcall TraceSetInformation(int64 long ptr long) advapi32.TraceSetInformation
@ stdcall TraceSetInformation(int64 long ptr long)
@ stub UnsubscribeServiceChangeNotifications
@ stub WaitServiceState

View File

@ -0,0 +1,155 @@
/*
* Event tracing API
*
* Copyright 1995 Sven Verdoolaege
* Copyright 1998 Juergen Schmied
* Copyright 2003 Mike Hearn
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wmistr.h"
#include "evntrace.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(eventlog);
/******************************************************************************
* ControlTraceA (sechost.@)
*/
ULONG WINAPI ControlTraceA( TRACEHANDLE handle, const char *session,
EVENT_TRACE_PROPERTIES *properties, ULONG control )
{
FIXME("(%s, %s, %p, %d) stub\n", wine_dbgstr_longlong(handle), debugstr_a(session), properties, control);
return ERROR_SUCCESS;
}
/******************************************************************************
* ControlTraceW (sechost.@)
*/
ULONG WINAPI ControlTraceW( TRACEHANDLE handle, const WCHAR *session,
EVENT_TRACE_PROPERTIES *properties, ULONG control )
{
FIXME("(%s, %s, %p, %d) stub\n", wine_dbgstr_longlong(handle), debugstr_w(session), properties, control);
return ERROR_SUCCESS;
}
/******************************************************************************
* EnableTraceEx2 (sechost.@)
*/
ULONG WINAPI EnableTraceEx2( TRACEHANDLE handle, const GUID *provider, ULONG control, UCHAR level,
ULONGLONG match_any, ULONGLONG match_all, ULONG timeout,
ENABLE_TRACE_PARAMETERS *params )
{
FIXME("(%s, %s, %u, %u, %s, %s, %u, %p): stub\n", wine_dbgstr_longlong(handle),
debugstr_guid(provider), control, level, wine_dbgstr_longlong(match_any),
wine_dbgstr_longlong(match_all), timeout, params);
return ERROR_SUCCESS;
}
/******************************************************************************
* QueryAllTracesA (sechost.@)
*/
ULONG WINAPI QueryAllTracesA( EVENT_TRACE_PROPERTIES **properties, ULONG count, ULONG *ret_count )
{
FIXME("(%p, %d, %p) stub\n", properties, count, ret_count);
if (ret_count) *ret_count = 0;
return ERROR_SUCCESS;
}
/******************************************************************************
* QueryAllTracesW (sechost.@)
*/
ULONG WINAPI QueryAllTracesW( EVENT_TRACE_PROPERTIES **properties, ULONG count, ULONG *ret_count )
{
FIXME("(%p, %d, %p) stub\n", properties, count, ret_count);
if (ret_count) *ret_count = 0;
return ERROR_SUCCESS;
}
/******************************************************************************
* StartTraceA (sechost.@)
*/
ULONG WINAPI StartTraceA( TRACEHANDLE *handle, const char *session, EVENT_TRACE_PROPERTIES *properties )
{
FIXME("(%p, %s, %p) stub\n", handle, debugstr_a(session), properties);
if (handle) *handle = 0xcafe4242;
return ERROR_SUCCESS;
}
/******************************************************************************
* StartTraceW (sechost.@)
*/
ULONG WINAPI StartTraceW( TRACEHANDLE *handle, const WCHAR *session, EVENT_TRACE_PROPERTIES *properties )
{
FIXME("(%p, %s, %p) stub\n", handle, debugstr_w(session), properties);
if (handle) *handle = 0xcafe4242;
return ERROR_SUCCESS;
}
/******************************************************************************
* StopTraceW (sechost.@)
*/
ULONG WINAPI StopTraceW( TRACEHANDLE handle, const WCHAR *session, EVENT_TRACE_PROPERTIES *properties )
{
FIXME("(%s, %s, %p) stub\n", wine_dbgstr_longlong(handle), debugstr_w(session), properties);
return ERROR_SUCCESS;
}
/******************************************************************************
* OpenTraceW (sechost.@)
*/
TRACEHANDLE WINAPI OpenTraceW( EVENT_TRACE_LOGFILEW *logfile )
{
static int once;
if (!once++) FIXME("%p: stub\n", logfile);
SetLastError(ERROR_ACCESS_DENIED);
return INVALID_PROCESSTRACE_HANDLE;
}
/******************************************************************************
* ProcessTrace (sechost.@)
*/
ULONG WINAPI ProcessTrace( TRACEHANDLE *handles, ULONG count, FILETIME *start_time, FILETIME *end_time )
{
FIXME("%p %u %p %p: stub\n", handles, count, start_time, end_time);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/******************************************************************************
* CloseTrace (sechost.@)
*/
ULONG WINAPI CloseTrace( TRACEHANDLE handle )
{
FIXME("%s: stub\n", wine_dbgstr_longlong(handle));
return ERROR_INVALID_HANDLE;
}
/******************************************************************************
* TraceSetInformation (sechost.@)
*/
ULONG WINAPI TraceSetInformation( TRACEHANDLE handle, TRACE_INFO_CLASS class, void *info, ULONG len )
{
FIXME("%s %d %p %d: stub\n", wine_dbgstr_longlong(handle), class, info, len);
return ERROR_CALL_NOT_IMPLEMENTED;
}