This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/evntprov.h

226 lines
5.5 KiB
C

/*
* evntprov.h Event provider functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _EVNTPROV_H_
#define _EVNTPROV_H_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Macro to specify event functions */
#define EVNTAPI DECLSPEC_IMPORT __stdcall
/* Primitive data types */
typedef ULONGLONG REGHANDLE;
typedef ULONGLONG *PREGHANDLE;
/* Event levels */
#define EVENT_MIN_LEVEL 0x00
#define EVENT_MAX_LEVEL 0xFF
/* Event activity control codes */
#define EVENT_ACTIVITY_CTRL_GET_ID 1
#define EVENT_ACTIVITY_CTRL_SET_ID 2
#define EVENT_ACTIVITY_CTRL_CREATE_ID 3
#define EVENT_ACTIVITY_CTRL_GET_SET_ID 4
#define EVENT_ACTIVITY_CTRL_CREATE_SET_ID 5
/* Maximum values */
#define MAX_EVENT_DATA_DESCRIPTORS 128
#define MAX_EVENT_FILTER_DATA_SIZE 1024
/* Event filter types */
#define EVENT_FILTER_TYPE_SCHEMATIZED 0x80000000L
/* Event data descriptor */
typedef struct _EVENT_DATA_DESCRIPTOR {
ULONGLONG Ptr;
ULONG Size;
ULONG Reserved;
} EVENT_DATA_DESCRIPTOR;
typedef EVENT_DATA_DESCRIPTOR *PEVENT_DATA_DESCRIPTOR;
/* Event descriptor */
typedef struct _EVENT_DESCRIPTOR {
USHORT Id;
UCHAR Version;
UCHAR Channel;
UCHAR Level;
UCHAR Opcode;
USHORT Task;
ULONGLONG Keyword;
} EVENT_DESCRIPTOR;
typedef EVENT_DESCRIPTOR *PEVENT_DESCRIPTOR;
typedef const EVENT_DESCRIPTOR *PCEVENT_DESCRIPTOR;
/* Event filter descriptor */
typedef struct _EVENT_FILTER_DESCRIPTOR {
ULONGLONG Ptr;
ULONG Size;
ULONG Type;
} EVENT_FILTER_DESCRIPTOR;
typedef EVENT_FILTER_DESCRIPTOR *PEVENT_FILTER_DESCRIPTOR;
/* Event filter header */
typedef struct _EVENT_FILTER_HEADER {
USHORT Id;
UCHAR Version;
UCHAR Reserved[5];
ULONGLONG InstanceId;
ULONG Size;
ULONG NextOffset;
} EVENT_FILTER_HEADER;
typedef EVENT_FILTER_HEADER *PEVENT_FILTER_HEADER;
/* Enable callback */
#ifndef _ETW_KM_
typedef VOID (NTAPI *PENABLECALLBACK)( LPCGUID, ULONG, UCHAR, ULONGLONG, ULONGLONG, PEVENT_FILTER_DESCRIPTOR, PVOID );
#endif
/* Functions in ADVAPI32.DLL */
#ifndef _ETW_KM_
#if (WINVER >= 0x0600)
ULONG EVNTAPI EventActivityIdControl( ULONG, LPGUID );
BOOLEAN EVNTAPI EventEnabled( REGHANDLE, PCEVENT_DESCRIPTOR );
BOOLEAN EVNTAPI EventProviderEnabled( REGHANDLE, UCHAR, ULONGLONG );
ULONG EVNTAPI EventRegister( LPCGUID, PENABLECALLBACK, PVOID, PREGHANDLE );
ULONG EVNTAPI EventUnregister( REGHANDLE );
ULONG EVNTAPI EventWrite( REGHANDLE, PCEVENT_DESCRIPTOR, ULONG, PEVENT_DATA_DESCRIPTOR );
ULONG EVNTAPI EventWriteString( REGHANDLE, UCHAR, ULONGLONG, PCWSTR );
ULONG EVNTAPI EventWriteTransfer( REGHANDLE, PCEVENT_DESCRIPTOR, LPCGUID, LPCGUID, ULONG, PEVENT_DATA_DESCRIPTOR );
#endif
#if (WINVER >= 0x0601)
ULONG EVNTAPI EventWriteEx( REGHANDLE, PCEVENT_DESCRIPTOR, ULONG64, ULONG, LPCGUID, LPCGUID, ULONG, PEVENT_DATA_DESCRIPTOR );
#endif
#endif
__inline VOID EventDataDescCreate( PEVENT_DATA_DESCRIPTOR x, const VOID * p1,
ULONG p2 )
{
x->Ptr = (ULONGLONG)p1;
x->Size = p2;
x->Reserved = 0;
}
__inline VOID EventDescCreate( PEVENT_DESCRIPTOR x, USHORT p1, UCHAR p2, UCHAR p3,
UCHAR p4, USHORT p5, UCHAR p6, ULONGLONG p7 )
{
x->Id = p1;
x->Version = p2;
x->Channel = p3;
x->Level = p4;
x->Task = p5;
x->Opcode = p6;
x->Keyword = p7;
}
__inline VOID EventDescZero( PEVENT_DESCRIPTOR x )
{
memset( x, 0, sizeof( EVENT_DESCRIPTOR ) );
}
__inline USHORT EventDescGetId( PCEVENT_DESCRIPTOR x )
{
return( x->Id );
}
__inline UCHAR EventDescGetVersion( PCEVENT_DESCRIPTOR x )
{
return( x->Version );
}
__inline USHORT EventDescGetTask( PCEVENT_DESCRIPTOR x )
{
return( x->Task );
}
__inline UCHAR EventDescGetOpcode( PCEVENT_DESCRIPTOR x )
{
return( x->Opcode );
}
__inline UCHAR EventDescGetChannel( PCEVENT_DESCRIPTOR x )
{
return( x->Channel );
}
__inline UCHAR EventDescGetLevel( PCEVENT_DESCRIPTOR x )
{
return( x->Level );
}
__inline ULONGLONG EventDescGetKeyword( PCEVENT_DESCRIPTOR x )
{
return( x->Keyword );
}
__inline PEVENT_DESCRIPTOR EventDescSetId( PEVENT_DESCRIPTOR x, USHORT p )
{
x->Id = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescSetVersion( PEVENT_DESCRIPTOR x, UCHAR p )
{
x->Version = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescSetTask( PEVENT_DESCRIPTOR x, USHORT p )
{
x->Task = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescSetOpcode( PEVENT_DESCRIPTOR x, UCHAR p )
{
x->Opcode = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescSetLevel( PEVENT_DESCRIPTOR x, UCHAR p )
{
x->Level = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescSetChannel( PEVENT_DESCRIPTOR x, UCHAR p )
{
x->Channel = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescSetKeyword( PEVENT_DESCRIPTOR x, ULONGLONG p )
{
x->Keyword = p;
return( x );
}
__inline PEVENT_DESCRIPTOR EventDescOrKeyword( PEVENT_DESCRIPTOR x, ULONGLONG p )
{
x->Keyword |= p;
return( x );
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _EVNTPROV_H_ */