123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_TDH
- #define _INC_TDH
- #include <evntprov.h>
- #include <evntcons.h>
- #if (_WIN32_WINNT >= 0x0600)
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef enum _EVENT_FIELD_TYPE {
- EventKeywordInformation = 0,
- EventLevelInformation = 1,
- EventChannelInformation = 2,
- EventTaskInformation = 3,
- EventOpcodeInformation = 4,
- EventInformationMax = 5
- } EVENT_FIELD_TYPE;
- typedef struct _EVENT_MAP_ENTRY {
- ULONG OutputOffset;
- __C89_NAMELESS union {
- ULONG Value;
- ULONG InputOffset;
- };
- } EVENT_MAP_ENTRY, *PEVENT_MAP_ENTRY;
- typedef enum _MAP_VALUETYPE
- {
- EVENTMAP_ENTRY_VALUETYPE_ULONG = 0,
- EVENTMAP_ENTRY_VALUETYPE_STRING = 1
- } MAP_VALUETYPE;
- typedef enum _MAP_FLAGS {
- EVENTMAP_INFO_FLAG_MANIFEST_VALUEMAP = 1,
- EVENTMAP_INFO_FLAG_MANIFEST_BITMAP = 2,
- EVENTMAP_INFO_FLAG_MANIFEST_PATTERNMAP = 4,
- EVENTMAP_INFO_FLAG_WBEM_VALUEMAP = 8,
- EVENTMAP_INFO_FLAG_WBEM_BITMAP = 16,
- EVENTMAP_INFO_FLAG_WBEM_FLAG = 32,
- EVENTMAP_INFO_FLAG_WBEM_NO_MAP = 64
- } MAP_FLAGS;
- typedef struct _EVENT_MAP_INFO {
- ULONG NameOffset;
- MAP_FLAGS Flag;
- ULONG EntryCount;
- __C89_NAMELESS union {
- MAP_VALUETYPE MapEntryValueType;
- ULONG FormatStringOffset;
- };
- EVENT_MAP_ENTRY MapEntryArray[ANYSIZE_ARRAY];
- } EVENT_MAP_INFO, *PEVENT_MAP_INFO;
- typedef enum _PROPERTY_FLAGS {
- PropertyStruct = 0x1,
- PropertyParamLength = 0x2,
- PropertyParamCount = 0x4,
- PropertyWBEMXmlFragment = 0x8,
- PropertyParamFixedLength = 0x10
- } PROPERTY_FLAGS;
- typedef struct _EVENT_PROPERTY_INFO {
- PROPERTY_FLAGS Flags;
- ULONG NameOffset;
- __C89_NAMELESS union {
- struct {
- USHORT InType;
- USHORT OutType;
- ULONG MapNameOffset;
- } nonStructType;
- struct {
- USHORT StructStartIndex;
- USHORT NumOfStructMembers;
- ULONG padding;
- } structType;
- };
- __C89_NAMELESS union {
- USHORT count;
- USHORT countPropertyIndex;
- };
- __C89_NAMELESS union {
- USHORT length;
- USHORT lengthPropertyIndex;
- };
- ULONG Reserved;
- } EVENT_PROPERTY_INFO;
- typedef enum _DECODING_SOURCE {
- DecodingSourceXMLFile = 0,
- DecodingSourceWbem = 1,
- DecodingSourceWPP = 2
- } DECODING_SOURCE;
- typedef enum _TDH_CONTEXT_TYPE {
- TDH_CONTEXT_WPP_TMFFILE = 0,
- TDH_CONTEXT_WPP_TMFSEARCHPATH = 1,
- TDH_CONTEXT_WPP_GMT = 2,
- TDH_CONTEXT_POINTERSIZE = 3,
- TDH_CONTEXT_MAXIMUM = 4
- } TDH_CONTEXT_TYPE;
- typedef enum _TEMPLATE_FLAGS {
- TEMPLATE_EVENT_DATA = 1,
- TEMPLATE_USER_DATA = 2
- } TEMPLATE_FLAGS;
- typedef struct _TRACE_EVENT_INFO {
- GUID ProviderGuid;
- GUID EventGuid;
- EVENT_DESCRIPTOR EventDescriptor;
- DECODING_SOURCE DecodingSource;
- ULONG ProviderNameOffset;
- ULONG LevelNameOffset;
- ULONG ChannelNameOffset;
- ULONG KeywordsNameOffset;
- ULONG TaskNameOffset;
- ULONG OpcodeNameOffset;
- ULONG EventMessageOffset;
- ULONG ProviderMessageOffset;
- ULONG BinaryXMLOffset;
- ULONG BinaryXMLSize;
- ULONG ActivityIDNameOffset;
- ULONG RelatedActivityIDNameOffset;
- ULONG PropertyCount;
- ULONG TopLevelPropertyCount;
- TEMPLATE_FLAGS Flags;
- EVENT_PROPERTY_INFO EventPropertyInfoArray[ANYSIZE_ARRAY];
- } TRACE_EVENT_INFO, *PTRACE_EVENT_INFO;
- typedef struct _PROPERTY_DATA_DESCRIPTOR {
- ULONGLONG PropertyName;
- ULONG ArrayIndex;
- ULONG Reserved;
- } PROPERTY_DATA_DESCRIPTOR, *PPROPERTY_DATA_DESCRIPTOR;
- typedef struct _TRACE_PROVIDER_INFO {
- GUID ProviderGuid;
- ULONG SchemaSource;
- ULONG ProviderNameOffset;
- } TRACE_PROVIDER_INFO;
- typedef struct _PROVIDER_ENUMERATION_INFO {
- ULONG NumberOfProviders;
- ULONG Padding;
- TRACE_PROVIDER_INFO TraceProviderInfoArray[ANYSIZE_ARRAY];
- } PROVIDER_ENUMERATION_INFO, *PPROVIDER_ENUMERATION_INFO;
- typedef struct _PROVIDER_FIELD_INFO {
- ULONG NameOffset;
- ULONG DescriptionOffset;
- ULONGLONG Value;
- } PROVIDER_FIELD_INFO;
- typedef struct _PROVIDER_FIELD_INFOARRAY {
- ULONG NumberOfElements;
- EVENT_FIELD_TYPE FieldType;
- PROVIDER_FIELD_INFO FieldInfoArray[ANYSIZE_ARRAY];
- } PROVIDER_FIELD_INFOARRAY, *PPROVIDER_FIELD_INFOARRAY;
- typedef struct _TDH_CONTEXT {
- ULONGLONG ParameterValue;
- TDH_CONTEXT_TYPE ParameterType;
- ULONG ParameterSize;
- } TDH_CONTEXT, *PTDH_CONTEXT;
- ULONG __stdcall TdhEnumerateProviderFieldInformation(
- LPGUID pGuid,
- EVENT_FIELD_TYPE EventFieldType,
- PPROVIDER_FIELD_INFOARRAY pBuffer,
- ULONG *pBufferSize
- );
- ULONG __stdcall TdhEnumerateProviders(
- PPROVIDER_ENUMERATION_INFO pBuffer,
- ULONG *pBufferSize
- );
- ULONG __stdcall TdhGetEventInformation(
- PEVENT_RECORD pEvent,
- ULONG TdhContextCount,
- PTDH_CONTEXT pTdhContext,
- PTRACE_EVENT_INFO pBuffer,
- ULONG *pBufferSize
- );
- ULONG __stdcall TdhGetEventMapInformation(
- PEVENT_RECORD pEvent,
- LPWSTR pMapName,
- PEVENT_MAP_INFO pBuffer,
- ULONG *pBufferSize
- );
- ULONG __stdcall TdhGetProperty(
- PEVENT_RECORD pEvent,
- ULONG TdhContextCount,
- PTDH_CONTEXT pTdhContext,
- ULONG PropertyDataCount,
- PPROPERTY_DATA_DESCRIPTOR pPropertyData,
- ULONG BufferSize,
- PBYTE pBuffer
- );
- ULONG __stdcall TdhGetPropertySize(
- PEVENT_RECORD pEvent,
- ULONG TdhContextCount,
- PTDH_CONTEXT pTdhContext,
- ULONG PropertyDataCount,
- PPROPERTY_DATA_DESCRIPTOR pPropertyData,
- ULONG *pPropertySize
- );
- ULONG __stdcall TdhQueryProviderFieldInformation(
- LPGUID pGuid,
- ULONGLONG EventFieldValue,
- EVENT_FIELD_TYPE EventFieldType,
- PPROVIDER_FIELD_INFOARRAY pBuffer,
- ULONG *pBufferSize
- );
- #if (_WIN32_WINNT >= 0x0601)
- typedef struct _PROVIDER_FILTER_INFO {
- UCHAR Id;
- UCHAR Version;
- ULONG MessageOffset;
- ULONG Reserved;
- ULONG PropertyCount;
- EVENT_PROPERTY_INFO EventPropertyInfoArray[ANYSIZE_ARRAY];
- } PROVIDER_FILTER_INFO, *PPROVIDER_FILTER_INFO;
- #endif /*(_WIN32_WINNT >= 0x0601)*/
- #ifdef __cplusplus
- }
- #endif
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #endif /*_INC_TDH*/
|