/** * 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_EVCOLL #define _INC_EVCOLL #if (_WIN32_WINNT >= 0x0600) #ifdef __cplusplus extern "C" { #endif typedef enum _EC_SUBSCRIPTION_CONFIGURATION_MODE { EcConfigurationModeNormal = 0, EcConfigurationModeCustom = 1, EcConfigurationModeMinLatency = 2, EcConfigurationModeMinBandwidth = 3 } EC_SUBSCRIPTION_CONFIGURATION_MODE; typedef enum _EC_SUBSCRIPTION_CONTENT_FORMAT { EcContentFormatEvents = 1, EcContentFormatRenderedText = 2 } EC_SUBSCRIPTION_CONTENT_FORMAT; typedef enum _EC_SUBSCRIPTION_CREDENTIALS_TYPE { EcSubscriptionCredDefault = 0, EcSubscriptionCredNegotiate = 1, EcSubscriptionCredDigest = 2, EcSubscriptionCredBasic = 3, EcSubscriptionCredLocalMachine = 4 } EC_SUBSCRIPTION_CREDENTIALS_TYPE; typedef enum _EC_SUBSCRIPTION_DELIVERY_MODE { EcDeliveryModePull = 1, EcDeliveryModePush = 2 } EC_SUBSCRIPTION_DELIVERY_MODE; typedef enum _EC_SUBSCRIPTION_PROPERTY_ID { EcSubscriptionEnabled = 0, EcSubscriptionEventSources = 1, EcSubscriptionEventSourceAddress = 2, EcSubscriptionEventSourceEnabled = 3, EcSubscriptionEventSourceUserName = 4, EcSubscriptionEventSourcePassword = 5, EcSubscriptionDescription = 6, EcSubscriptionURI = 7, EcSubscriptionConfigurationMode = 8, EcSubscriptionExpires = 9, EcSubscriptionQuery = 10, EcSubscriptionTransportName = 11, EcSubscriptionTransportPort = 12, EcSubscriptionDeliveryMode = 13, EcSubscriptionDeliveryMaxItems = 14, EcSubscriptionDeliveryMaxLatencyTime = 15, EcSubscriptionHeartbeatInterval = 16, EcSubscriptionLocale = 17, EcSubscriptionContentFormat = 18, EcSubscriptionLogFile = 19, EcSubscriptionPublisherName = 20, EcSubscriptionCredentialsType = 21, EcSubscriptionCommonUserName = 22, EcSubscriptionCommonPassword = 23, EcSubscriptionHostName = 24, EcSubscriptionReadExistingEvents = 25, EcSubscriptionDialect = 26, EcSubscriptionType = 27, EcSubscriptionAllowedIssuerCAs = 28, EcSubscriptionAllowedSubjects = 29, EcSubscriptionDeniedSubjects = 30, EcSubscriptionAllowedSourceDomainComputers = 31 } EC_SUBSCRIPTION_PROPERTY_ID; typedef enum _EC_SUBSCRIPTION_RUNTIME_STATUS_ACTIVE_STATUS { EcRuntimeStatusActiveStatusDisabled = 1, EcRuntimeStatusActiveStatusActive = 2, EcRuntimeStatusActiveStatusInactive = 3, EcRuntimeStatusActiveStatusTrying = 4 } EC_SUBSCRIPTION_RUNTIME_STATUS_ACTIVE_STATUS; typedef enum _EC_SUBSCRIPTION_TYPE { EcSubscriptionTypeSourceInitiated = 0, EcSubscriptionTypeCollectorInitiated = 1 } EC_SUBSCRIPTION_TYPE; typedef enum _EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID { EcSubscriptionRunTimeStatusActive = 0, EcSubscriptionRunTimeStatusLastError = 1, EcSubscriptionRunTimeStatusLastErrorMessage = 2, EcSubscriptionRunTimeStatusLastErrorTime = 3, EcSubscriptionRunTimeStatusNextRetryTime = 4, EcSubscriptionRunTimeStatusEventSources = 5, EcSubscriptionRunTimeStatusLastHeartbeatTime = 6 } EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID; typedef struct _EC_VARIANT { __C89_NAMELESS union { BOOL BooleanVal; UINT32 UInt32Val; ULONGLONG DateTimeVal; LPCWSTR StringVal; PBYTE BinaryVal; WINBOOL *BooleanArr; INT32* Int32Arr; LPWSTR *StringArr; }; DWORD Count; DWORD Type; } EC_VARIANT, *PEC_VARIANT; typedef enum _EC_VARIANT_TYPE { EcVarTypeNull = 0, EcVarTypeBoolean = 1, EcVarTypeUInt32 = 2, EcVarTypeDateTime = 3, EcVarTypeString = 4, EcVarObjectArrayPropertyHandle = 5 } EC_VARIANT_TYPE; typedef LPVOID EC_HANDLE; WINBOOL WINAPI EcClose( EC_HANDLE Object ); WINBOOL WINAPI EcDeleteSubscription( LPCWSTR SubscriptionName, DWORD Flags ); WINBOOL WINAPI EcEnumNextSubscription( EC_HANDLE SubscriptionEnum, DWORD SubscriptionNameBufferSize, LPWSTR SubscriptionNameBuffer, PDWORD SubscriptionNameBufferUsed ); WINBOOL WINAPI EcGetObjectArrayProperty( EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, EC_SUBSCRIPTION_PROPERTY_ID PropertyId, DWORD ArrayIndex, DWORD Flags, DWORD PropertyValueBufferSize, PEC_VARIANT PropertyValueBuffer, PDWORD PropertyValueBufferUsed ); WINBOOL WINAPI EcGetObjectArraySize( EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, PDWORD ObjectArraySize ); WINBOOL WINAPI EcGetSubscriptionProperty( EC_HANDLE Subscription, EC_SUBSCRIPTION_PROPERTY_ID PropertyId, DWORD Flags, DWORD PropertyValueBufferSize, PEC_VARIANT PropertyValueBuffer, PDWORD PropertyValueBufferUsed ); WINBOOL WINAPI EcGetSubscriptionRunTimeStatus( LPCWSTR SubscriptionName, EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID StatusInfoId, LPCWSTR EventSourceName, DWORD Flags, DWORD StatusValueBufferSize, PEC_VARIANT StatusValueBuffer, PDWORD StatusValueBufferUsed ); WINBOOL WINAPI EcInsertObjectArrayElement( EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, DWORD ArrayIndex ); EC_HANDLE WINAPI EcOpenSubscription( LPCWSTR SubscriptionName, DWORD AccessMask, DWORD Flags ); EC_HANDLE WINAPI EcOpenSubscriptionEnum( DWORD Flags ); WINBOOL WINAPI EcRemoveObjectArrayElement( EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, DWORD ArrayIndex ); WINBOOL WINAPI EcRetrySubscription( LPCWSTR SubscriptionName, LPCWSTR EventSourceName, DWORD Flags ); WINBOOL WINAPI EcSaveSubscription( EC_HANDLE Subscription, DWORD Flags ); WINBOOL WINAPI EcSetObjectArrayProperty( EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, EC_SUBSCRIPTION_PROPERTY_ID PropertyId, DWORD ArrayIndex, DWORD Flags, PEC_VARIANT PropertyValue ); WINBOOL WINAPI EcSetSubscriptionProperty( EC_HANDLE Subscription, EC_SUBSCRIPTION_PROPERTY_ID PropertyId, DWORD Flags, PEC_VARIANT PropertyValue ); #ifdef __cplusplus } #endif #endif /*(_WIN32_WINNT >= 0x0600)*/ #endif /*_INC_EVCOLL*/