Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
3.9 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. item.h
  5. Abstract:
  6. Item header file
  7. Author:
  8. 08-Apr-1998 mraghu
  9. Revision History:
  10. --*/
  11. //
  12. // Temporary structure used. Should be using MOF types
  13. //
  14. #define GUID_TYPE_HEADER L"Header"
  15. #define GUID_TYPE_UNKNOWN L"Unknown"
  16. #define GUID_TYPE_DEFAULT L"Default"
  17. #define EVENT_TYPE_DEFAULT ((CHAR)(-1))
  18. #define EVENT_LEVEL_DEFAULT ((CHAR)(-1))
  19. #define EVENT_VERSION_DEFAULT ((SHORT)(-1))
  20. #define STR_ItemChar L"ItemChar"
  21. #define STR_ItemCharHidden L"ItemCharHidden"
  22. #define STR_ItemWChar L"ItemWChar"
  23. #define STR_ItemUChar L"ItemUChar"
  24. #define STR_ItemCharShort L"ItemCharShort"
  25. #define STR_ItemCharSign L"ItemCharSign"
  26. #define STR_ItemShort L"ItemShort"
  27. #define STR_ItemUShort L"ItemUShort"
  28. #define STR_ItemLong L"ItemLong"
  29. #define STR_ItemULong L"ItemULong"
  30. #define STR_ItemULongX L"ItemULongX"
  31. #define STR_ItemLongLong L"ItemLongLong"
  32. #define STR_ItemULongLong L"ItemULongLong"
  33. #define STR_ItemString L"ItemString"
  34. #define STR_ItemWString L"ItemWString"
  35. #define STR_ItemRString L"ItemRString"
  36. #define STR_ItemRWString L"ItemRWString"
  37. #define STR_ItemPString L"ItemPString"
  38. #define STR_ItemPWString L"ItemPWString"
  39. #define STR_ItemDSString L"ItemDSString"
  40. #define STR_ItemDSWString L"ItemDSWString"
  41. #define STR_ItemMLString L"ItemMLString"
  42. #define STR_ItemSid L"ItemSid"
  43. #define STR_ItemChar4 L"ItemChar4"
  44. #define STR_ItemIPAddr L"ItemIPAddr"
  45. #define STR_ItemTDIAddr L"ItemTDIAddr"
  46. #define STR_ItemPort L"ItemPort"
  47. #define STR_ItemNWString L"ItemNWString"
  48. #define STR_ItemPtr L"ItemPtr"
  49. #define STR_ItemGuid L"ItemGuid"
  50. #define STR_ItemVariant L"ItemVariant"
  51. #define STR_ItemBool L"ItemBool"
  52. #define STR_ItemOptArgs L"ItemOptArgs"
  53. #define STR_ItemCPUTime L"ItemCPUTime"
  54. #define STR_ItemSizeT L"ItemSizeT"
  55. //
  56. // The following are the data types supported by
  57. // WMI event trace parsing tools. New data types must be
  58. // added to this file and the parsing code for that type
  59. // must be added in the DumpEvent routine.
  60. //
  61. typedef enum _ITEM_TYPE {
  62. ItemChar,
  63. ItemCharHidden,
  64. ItemWChar,
  65. ItemUChar,
  66. ItemCharShort,
  67. ItemCharSign,
  68. ItemShort,
  69. ItemUShort,
  70. ItemLong,
  71. ItemULong,
  72. ItemULongX,
  73. ItemLongLong,
  74. ItemULongLong,
  75. ItemString,
  76. ItemWString,
  77. ItemRString,
  78. ItemRWString,
  79. ItemPString,
  80. ItemPWString,
  81. ItemDSString,
  82. ItemDSWString,
  83. ItemSid,
  84. ItemChar4,
  85. ItemIPAddr,
  86. ItemTDIAddr,
  87. ItemPort,
  88. ItemMLString,
  89. ItemNWString, // Non-null terminated Wide Char String
  90. ItemPtr,
  91. ItemGuid,
  92. ItemVariant,
  93. ItemBool,
  94. ItemOptArgs,
  95. ItemCPUTime,
  96. ItemSizeT,
  97. ItemUnknown
  98. } ITEM_TYPE;
  99. #define VALUETYPE_INDEX 1
  100. #define VALUETYPE_FLAG 2
  101. typedef struct _VALUEMAP
  102. {
  103. LIST_ENTRY Entry;
  104. DWORD dwValueType;
  105. SAFEARRAY* saValueMap;
  106. SAFEARRAY* saValues;
  107. } VALUEMAP, *PVALUEMAP;
  108. typedef struct _ITEM_DESC {
  109. LIST_ENTRY Entry;
  110. ULONG DataSize;
  111. ULONG ArraySize;
  112. ITEM_TYPE ItemType;
  113. PVALUEMAP pValueMap;
  114. PWCHAR strDescription;
  115. } ITEM_DESC, *PITEM_DESC;