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