add evntrace.h and wmistr.h
Mike McCormack
mike at codeweavers.com
Wed Apr 20 04:39:48 CDT 2005
Needs LPCGUID defined in guiddef.h (previous patch). evntrace.h seems
to define a particularly overcomplicated API.
Mike
ChangeLog:
* add evntrace.h and wmistr.h
-------------- next part --------------
Index: include/Makefile.in
===================================================================
RCS file: /home/wine/wine/include/Makefile.in,v
retrieving revision 1.164
diff -u -p -r1.164 Makefile.in
--- include/Makefile.in 11 Apr 2005 18:51:17 -0000 1.164
+++ include/Makefile.in 20 Apr 2005 09:33:49 -0000
@@ -111,6 +111,7 @@ WINDOWS_INCLUDES = \
dxerr9.h \
dxfile.h \
evcode.h \
+ evntrace.h \
excpt.h \
exdispid.h \
fci.h \
@@ -252,6 +253,7 @@ WINDOWS_INCLUDES = \
wintrust.h \
winuser.h \
winver.h \
+ wmistr.h \
wnaspi32.h \
wownt32.h \
ws2spi.h \
--- /dev/null 2005-04-04 08:07:08.000000000 +0900
+++ include/wmistr.h 2005-04-20 18:01:47.000000000 +0900
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2005 Mike McCormack
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_WMISTR_H
+#define __WINE_WMISTR_H
+
+typedef enum
+{
+ WMI_GET_ALL_DATA = 0,
+ WMI_GET_SINGLE_INSTANCE = 1,
+ WMI_SET_SINGLE_INSTANCE = 2,
+ WMI_SET_SINGLE_ITEM = 3,
+ WMI_ENABLE_EVENTS = 4,
+ WMI_DISABLE_EVENTS = 5,
+ WMI_ENABLE_CONNECTION = 6,
+ WMI_DISABLE_CONNECTION = 7,
+ WMI_REGINFO = 8,
+ WMI_EXECUTE_METHOD = 9,
+} WMIDPREQUESTCODE;
+
+#endif /* __WINE_WMISTR_H */
--- /dev/null 2005-04-04 08:07:08.000000000 +0900
+++ include/evntrace.h 2005-04-20 18:18:24.000000000 +0900
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2005 Mike McCormack
+ *
+ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_EVNTRACE_H
+#define __WINE_EVNTRACE_H
+
+#include "guiddef.h"
+
+typedef ULONG64 TRACEHANDLE, *PTRACEHANDLE;
+
+struct _EVENT_TRACE_LOGFILEA;
+struct _EVENT_TRACE_LOGFILEW;
+
+typedef struct _EVENT_TRACE_LOGFILEA EVENT_TRACE_LOGFILEA, *PEVENT_TRACE_LOGFILEA;
+typedef struct _EVENT_TRACE_LOGFILEW EVENT_TRACE_LOGFILEW, *PEVENT_TRACE_LOGFILEW;
+
+typedef ULONG (WINAPI * PEVENT_TRACE_BUFFER_CALLBACKA)( PEVENT_TRACE_LOGFILEA );
+typedef ULONG (WINAPI * PEVENT_TRACE_BUFFER_CALLBACKW)( PEVENT_TRACE_LOGFILEW );
+
+typedef ULONG (WINAPI * WMIDPREQUEST)( WMIDPREQUESTCODE, PVOID, ULONG*, PVOID );
+
+typedef struct _TRACE_GUID_REGISTRATION
+{
+ LPCGUID Guid;
+ HANDLE RegHandle;
+} TRACE_GUID_REGISTRATION, *PTRACE_GUID_REGISTRATION;
+
+typedef struct _EVENT_TRACE_HEADER
+{
+ USHORT Size;
+ union
+ {
+ USHORT FieldTypeFlags;
+ struct
+ {
+ UCHAR HeaderType;
+ UCHAR MarkerFlags;
+ };
+ } DUMMYUNIONNAME;
+ union
+ {
+ ULONG Version;
+ struct
+ {
+ UCHAR Type;
+ UCHAR Level;
+ USHORT Version;
+ } Class;
+ } DUMMYUNIONNAME1;
+ ULONG ThreadId;
+ ULONG ProcessId;
+ LARGE_INTEGER TimeStamp;
+ union
+ {
+ GUID Guid;
+ ULONGLONG GuidPtr;
+ } DUMMYUNIONNAME2;
+ union
+ {
+ struct
+ {
+ ULONG ClientContext;
+ ULONG Flags;
+ };
+ struct
+ {
+ ULONG KernelTime;
+ ULONG UserTime;
+ };
+ } DUMMYUNIONNAME3;
+} EVENT_TRACE_HEADER, *PEVENT_TRACE_HEADER;
+
+typedef struct _EVENT_TRACE
+{
+ EVENT_TRACE_HEADER Header;
+ ULONG InstanceId;
+ ULONG ParentInstanceId;
+ GUID ParentGuid;
+ PVOID MofData;
+ ULONG MofLength;
+ ULONG ClientContext;
+} EVENT_TRACE, *PEVENT_TRACE;
+
+typedef VOID (WINAPI * PEVENT_CALLBACK)( PEVENT_TRACE );
+
+typedef struct _TRACE_LOGFILE_HEADER
+{
+ ULONG BufferSize;
+ union
+ {
+ ULONG Version;
+ struct
+ {
+ UCHAR MajorVersion;
+ UCHAR MinorVersion;
+ UCHAR SubVersion;
+ UCHAR SubMinorVersion;
+ } VersionDetail;
+ } DUMMYUNIONNAME;
+ ULONG ProviderVersion;
+ ULONG NumberOfProcessors;
+ LARGE_INTEGER EndTime;
+ ULONG TimerResolution;
+ ULONG MaximumFileSize;
+ ULONG LogFileMode;
+ ULONG BuffersWritten;
+ union
+ {
+ GUID LogInstanceGuid;
+ struct
+ {
+ ULONG StartBuffers;
+ ULONG PointerSize;
+ ULONG EventsLost;
+ ULONG CpuSpeedInMHZ;
+ };
+ } DUMMYUNIONNAME1;
+ LPWSTR LoggerName;
+ LPWSTR LogFileName;
+ TIME_ZONE_INFORMATION TimeZone;
+ LARGE_INTEGER BootTime;
+ LARGE_INTEGER PerfFreq;
+ LARGE_INTEGER StartTime;
+ ULONG ReservedTime;
+ ULONG BuffersLost;
+} TRACE_LOGFILE_HEADER, *PTRACE_LOGFILE_HEADER;
+
+struct _EVENT_TRACE_LOGFILEW
+{
+ LPWSTR LogFileName;
+ LPWSTR LoggerName;
+ LONGLONG CurrentTime;
+ ULONG LogFileMode;
+ EVENT_TRACE CurrentEvent;
+ TRACE_LOGFILE_HEADER LogfileHeader;
+ PEVENT_TRACE_BUFFER_CALLBACKW BufferCallback;
+ ULONG BufferSize;
+ ULONG Filled;
+ ULONG EventsLost;
+ PEVENT_CALLBACK EventCallback;
+ PVOID Context;
+};
+
+struct _EVENT_TRACE_LOGFILEA
+{
+ LPSTR LogFileName;
+ LPSTR LoggerName;
+ LONGLONG CurrentTime;
+ ULONG LogFileMode;
+ EVENT_TRACE CurrentEvent;
+ TRACE_LOGFILE_HEADER LogfileHeader;
+ PEVENT_TRACE_BUFFER_CALLBACKA BufferCallback;
+ ULONG BufferSize;
+ ULONG Filled;
+ ULONG EventsLost;
+ PEVENT_CALLBACK EventCallback;
+ PVOID Context;
+};
+
+ULONG WINAPI CloseTrace(TRACEHANDLE);
+ULONG WINAPI EnableTrace(ULONG,ULONG,ULONG,LPCGUID,TRACEHANDLE);
+ULONG WINAPI RegisterTraceGuidsA(WMIDPREQUEST,PVOID,LPCGUID,ULONG,PTRACE_GUID_REGISTRATION,LPCSTR,LPCSTR,PTRACEHANDLE);
+ULONG WINAPI RegisterTraceGuidsW(WMIDPREQUEST,PVOID,LPCGUID,ULONG,PTRACE_GUID_REGISTRATION,LPCWSTR,LPCWSTR,PTRACEHANDLE);
+
+#endif /* __WINE_EVNTRACE_H */
More information about the wine-patches
mailing list