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