evcoll.h 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_EVCOLL
  7. #define _INC_EVCOLL
  8. #if (_WIN32_WINNT >= 0x0600)
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. typedef enum _EC_SUBSCRIPTION_CONFIGURATION_MODE {
  13. EcConfigurationModeNormal = 0,
  14. EcConfigurationModeCustom = 1,
  15. EcConfigurationModeMinLatency = 2,
  16. EcConfigurationModeMinBandwidth = 3
  17. } EC_SUBSCRIPTION_CONFIGURATION_MODE;
  18. typedef enum _EC_SUBSCRIPTION_CONTENT_FORMAT {
  19. EcContentFormatEvents = 1,
  20. EcContentFormatRenderedText = 2
  21. } EC_SUBSCRIPTION_CONTENT_FORMAT;
  22. typedef enum _EC_SUBSCRIPTION_CREDENTIALS_TYPE {
  23. EcSubscriptionCredDefault = 0,
  24. EcSubscriptionCredNegotiate = 1,
  25. EcSubscriptionCredDigest = 2,
  26. EcSubscriptionCredBasic = 3,
  27. EcSubscriptionCredLocalMachine = 4
  28. } EC_SUBSCRIPTION_CREDENTIALS_TYPE;
  29. typedef enum _EC_SUBSCRIPTION_DELIVERY_MODE {
  30. EcDeliveryModePull = 1,
  31. EcDeliveryModePush = 2
  32. } EC_SUBSCRIPTION_DELIVERY_MODE;
  33. typedef enum _EC_SUBSCRIPTION_PROPERTY_ID {
  34. EcSubscriptionEnabled = 0,
  35. EcSubscriptionEventSources = 1,
  36. EcSubscriptionEventSourceAddress = 2,
  37. EcSubscriptionEventSourceEnabled = 3,
  38. EcSubscriptionEventSourceUserName = 4,
  39. EcSubscriptionEventSourcePassword = 5,
  40. EcSubscriptionDescription = 6,
  41. EcSubscriptionURI = 7,
  42. EcSubscriptionConfigurationMode = 8,
  43. EcSubscriptionExpires = 9,
  44. EcSubscriptionQuery = 10,
  45. EcSubscriptionTransportName = 11,
  46. EcSubscriptionTransportPort = 12,
  47. EcSubscriptionDeliveryMode = 13,
  48. EcSubscriptionDeliveryMaxItems = 14,
  49. EcSubscriptionDeliveryMaxLatencyTime = 15,
  50. EcSubscriptionHeartbeatInterval = 16,
  51. EcSubscriptionLocale = 17,
  52. EcSubscriptionContentFormat = 18,
  53. EcSubscriptionLogFile = 19,
  54. EcSubscriptionPublisherName = 20,
  55. EcSubscriptionCredentialsType = 21,
  56. EcSubscriptionCommonUserName = 22,
  57. EcSubscriptionCommonPassword = 23,
  58. EcSubscriptionHostName = 24,
  59. EcSubscriptionReadExistingEvents = 25,
  60. EcSubscriptionDialect = 26,
  61. EcSubscriptionType = 27,
  62. EcSubscriptionAllowedIssuerCAs = 28,
  63. EcSubscriptionAllowedSubjects = 29,
  64. EcSubscriptionDeniedSubjects = 30,
  65. EcSubscriptionAllowedSourceDomainComputers = 31
  66. } EC_SUBSCRIPTION_PROPERTY_ID;
  67. typedef enum _EC_SUBSCRIPTION_RUNTIME_STATUS_ACTIVE_STATUS {
  68. EcRuntimeStatusActiveStatusDisabled = 1,
  69. EcRuntimeStatusActiveStatusActive = 2,
  70. EcRuntimeStatusActiveStatusInactive = 3,
  71. EcRuntimeStatusActiveStatusTrying = 4
  72. } EC_SUBSCRIPTION_RUNTIME_STATUS_ACTIVE_STATUS;
  73. typedef enum _EC_SUBSCRIPTION_TYPE {
  74. EcSubscriptionTypeSourceInitiated = 0,
  75. EcSubscriptionTypeCollectorInitiated = 1
  76. } EC_SUBSCRIPTION_TYPE;
  77. typedef enum _EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID {
  78. EcSubscriptionRunTimeStatusActive = 0,
  79. EcSubscriptionRunTimeStatusLastError = 1,
  80. EcSubscriptionRunTimeStatusLastErrorMessage = 2,
  81. EcSubscriptionRunTimeStatusLastErrorTime = 3,
  82. EcSubscriptionRunTimeStatusNextRetryTime = 4,
  83. EcSubscriptionRunTimeStatusEventSources = 5,
  84. EcSubscriptionRunTimeStatusLastHeartbeatTime = 6
  85. } EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID;
  86. typedef struct _EC_VARIANT {
  87. __C89_NAMELESS union {
  88. BOOL BooleanVal;
  89. UINT32 UInt32Val;
  90. ULONGLONG DateTimeVal;
  91. LPCWSTR StringVal;
  92. PBYTE BinaryVal;
  93. WINBOOL *BooleanArr;
  94. INT32* Int32Arr;
  95. LPWSTR *StringArr;
  96. };
  97. DWORD Count;
  98. DWORD Type;
  99. } EC_VARIANT, *PEC_VARIANT;
  100. typedef enum _EC_VARIANT_TYPE {
  101. EcVarTypeNull = 0,
  102. EcVarTypeBoolean = 1,
  103. EcVarTypeUInt32 = 2,
  104. EcVarTypeDateTime = 3,
  105. EcVarTypeString = 4,
  106. EcVarObjectArrayPropertyHandle = 5
  107. } EC_VARIANT_TYPE;
  108. typedef LPVOID EC_HANDLE;
  109. WINBOOL WINAPI EcClose(
  110. EC_HANDLE Object
  111. );
  112. WINBOOL WINAPI EcDeleteSubscription(
  113. LPCWSTR SubscriptionName,
  114. DWORD Flags
  115. );
  116. WINBOOL WINAPI EcEnumNextSubscription(
  117. EC_HANDLE SubscriptionEnum,
  118. DWORD SubscriptionNameBufferSize,
  119. LPWSTR SubscriptionNameBuffer,
  120. PDWORD SubscriptionNameBufferUsed
  121. );
  122. WINBOOL WINAPI EcGetObjectArrayProperty(
  123. EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  124. EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
  125. DWORD ArrayIndex,
  126. DWORD Flags,
  127. DWORD PropertyValueBufferSize,
  128. PEC_VARIANT PropertyValueBuffer,
  129. PDWORD PropertyValueBufferUsed
  130. );
  131. WINBOOL WINAPI EcGetObjectArraySize(
  132. EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  133. PDWORD ObjectArraySize
  134. );
  135. WINBOOL WINAPI EcGetSubscriptionProperty(
  136. EC_HANDLE Subscription,
  137. EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
  138. DWORD Flags,
  139. DWORD PropertyValueBufferSize,
  140. PEC_VARIANT PropertyValueBuffer,
  141. PDWORD PropertyValueBufferUsed
  142. );
  143. WINBOOL WINAPI EcGetSubscriptionRunTimeStatus(
  144. LPCWSTR SubscriptionName,
  145. EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID StatusInfoId,
  146. LPCWSTR EventSourceName,
  147. DWORD Flags,
  148. DWORD StatusValueBufferSize,
  149. PEC_VARIANT StatusValueBuffer,
  150. PDWORD StatusValueBufferUsed
  151. );
  152. WINBOOL WINAPI EcInsertObjectArrayElement(
  153. EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  154. DWORD ArrayIndex
  155. );
  156. EC_HANDLE WINAPI EcOpenSubscription(
  157. LPCWSTR SubscriptionName,
  158. DWORD AccessMask,
  159. DWORD Flags
  160. );
  161. EC_HANDLE WINAPI EcOpenSubscriptionEnum(
  162. DWORD Flags
  163. );
  164. WINBOOL WINAPI EcRemoveObjectArrayElement(
  165. EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  166. DWORD ArrayIndex
  167. );
  168. WINBOOL WINAPI EcRetrySubscription(
  169. LPCWSTR SubscriptionName,
  170. LPCWSTR EventSourceName,
  171. DWORD Flags
  172. );
  173. WINBOOL WINAPI EcSaveSubscription(
  174. EC_HANDLE Subscription,
  175. DWORD Flags
  176. );
  177. WINBOOL WINAPI EcSetObjectArrayProperty(
  178. EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  179. EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
  180. DWORD ArrayIndex,
  181. DWORD Flags,
  182. PEC_VARIANT PropertyValue
  183. );
  184. WINBOOL WINAPI EcSetSubscriptionProperty(
  185. EC_HANDLE Subscription,
  186. EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
  187. DWORD Flags,
  188. PEC_VARIANT PropertyValue
  189. );
  190. #ifdef __cplusplus
  191. }
  192. #endif
  193. #endif /*(_WIN32_WINNT >= 0x0600)*/
  194. #endif /*_INC_EVCOLL*/