Added evntrace.h and wmistr.h.

This commit is contained in:
Mike McCormack 2005-04-20 12:52:24 +00:00 committed by Alexandre Julliard
parent e744735f3e
commit 8f983be0b5
3 changed files with 219 additions and 0 deletions

View File

@ -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 \

181
include/evntrace.h Normal file
View File

@ -0,0 +1,181 @@
/*
* 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 _EVNTRACE_
#define _EVNTRACE_
#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);
#define RegisterTraceGuids WINELIB_NAME_AW(RegisterTraceGuids)
#endif /* _EVNTRACE_ */

36
include/wmistr.h Normal file
View File

@ -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 _WMISTR_
#define _WMISTR_
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 /* _WMISTR_ */