Windows2003-3790/sdktools/trace/tracectr/item.h
2020-09-30 16:53:55 +02:00

136 lines
3.9 KiB
C

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
item.h
Abstract:
Item header file
Author:
08-Apr-1998 mraghu
Revision History:
--*/
//
// Temporary structure used. Should be using MOF types
//
#define GUID_TYPE_HEADER L"Header"
#define GUID_TYPE_UNKNOWN L"Unknown"
#define GUID_TYPE_DEFAULT L"Default"
#define EVENT_TYPE_DEFAULT ((CHAR)(-1))
#define EVENT_LEVEL_DEFAULT ((CHAR)(-1))
#define EVENT_VERSION_DEFAULT ((SHORT)(-1))
#define STR_ItemChar L"ItemChar"
#define STR_ItemCharHidden L"ItemCharHidden"
#define STR_ItemWChar L"ItemWChar"
#define STR_ItemUChar L"ItemUChar"
#define STR_ItemCharShort L"ItemCharShort"
#define STR_ItemCharSign L"ItemCharSign"
#define STR_ItemShort L"ItemShort"
#define STR_ItemUShort L"ItemUShort"
#define STR_ItemLong L"ItemLong"
#define STR_ItemULong L"ItemULong"
#define STR_ItemULongX L"ItemULongX"
#define STR_ItemLongLong L"ItemLongLong"
#define STR_ItemULongLong L"ItemULongLong"
#define STR_ItemString L"ItemString"
#define STR_ItemWString L"ItemWString"
#define STR_ItemRString L"ItemRString"
#define STR_ItemRWString L"ItemRWString"
#define STR_ItemPString L"ItemPString"
#define STR_ItemPWString L"ItemPWString"
#define STR_ItemDSString L"ItemDSString"
#define STR_ItemDSWString L"ItemDSWString"
#define STR_ItemMLString L"ItemMLString"
#define STR_ItemSid L"ItemSid"
#define STR_ItemChar4 L"ItemChar4"
#define STR_ItemIPAddr L"ItemIPAddr"
#define STR_ItemTDIAddr L"ItemTDIAddr"
#define STR_ItemPort L"ItemPort"
#define STR_ItemNWString L"ItemNWString"
#define STR_ItemPtr L"ItemPtr"
#define STR_ItemGuid L"ItemGuid"
#define STR_ItemVariant L"ItemVariant"
#define STR_ItemBool L"ItemBool"
#define STR_ItemOptArgs L"ItemOptArgs"
#define STR_ItemCPUTime L"ItemCPUTime"
#define STR_ItemSizeT L"ItemSizeT"
//
// The following are the data types supported by
// WMI event trace parsing tools. New data types must be
// added to this file and the parsing code for that type
// must be added in the DumpEvent routine.
//
typedef enum _ITEM_TYPE {
ItemChar,
ItemCharHidden,
ItemWChar,
ItemUChar,
ItemCharShort,
ItemCharSign,
ItemShort,
ItemUShort,
ItemLong,
ItemULong,
ItemULongX,
ItemLongLong,
ItemULongLong,
ItemString,
ItemWString,
ItemRString,
ItemRWString,
ItemPString,
ItemPWString,
ItemDSString,
ItemDSWString,
ItemSid,
ItemChar4,
ItemIPAddr,
ItemTDIAddr,
ItemPort,
ItemMLString,
ItemNWString, // Non-null terminated Wide Char String
ItemPtr,
ItemGuid,
ItemVariant,
ItemBool,
ItemOptArgs,
ItemCPUTime,
ItemSizeT,
ItemUnknown
} ITEM_TYPE;
#define VALUETYPE_INDEX 1
#define VALUETYPE_FLAG 2
typedef struct _VALUEMAP
{
LIST_ENTRY Entry;
DWORD dwValueType;
SAFEARRAY* saValueMap;
SAFEARRAY* saValues;
} VALUEMAP, *PVALUEMAP;
typedef struct _ITEM_DESC {
LIST_ENTRY Entry;
ULONG DataSize;
ULONG ArraySize;
ITEM_TYPE ItemType;
PVALUEMAP pValueMap;
PWCHAR strDescription;
} ITEM_DESC, *PITEM_DESC;