EVT_HANDLE WINAPI EvtOpenPublisherMetadata(EVT_HANDLE Session, const wchar_t *PublisherId, const wchar_t *LogFilePath,
#ifndef ZABBIX_EVENTLOG_H
#define ZABBIX_EVENTLOG_H
#include "config.h"
#include "logfiles/logfiles.h"
#if !defined(_WINDOWS) && !defined(__MINGW32__)
# error "This module is only available for Windows OS"
#endif
#include "zbxalgo.h"
#include "active.h"
#include "metrics.h"
#define EVT_VARIANT_TYPE_ARRAY 128
#define EVT_VARIANT_TYPE_MASK 0x7f
typedef HANDLE EVT_HANDLE, *PEVT_HANDLE;
typedef struct _EVT_VARIANT
{
union
{
BOOL BooleanVal;
INT8 SByteVal;
INT16 Int16Val;
INT32 Int32Val;
INT64 Int64Val;
UINT8 ByteVal;
UINT16 UInt16Val;
UINT32 UInt32Val;
UINT64 UInt64Val;
float SingleVal;
double DoubleVal;
ULONGLONG FileTimeVal;
SYSTEMTIME *SysTimeVal;
GUID *GuidVal;
const wchar_t *StringVal;
const char *AnsiStringVal;
PBYTE BinaryVal;
PSID SidVal;
size_t SizeTVal;
BOOL *BooleanArr;
INT8 *SByteArr;
INT16 *Int16Arr;
INT32 *Int32Arr;
INT64 *Int64Arr;
UINT8 *ByteArr;
UINT16 *UInt16Arr;
UINT32 *UInt32Arr;
UINT64 *UInt64Arr;
float *SingleArr;
double *DoubleArr;
FILETIME *FileTimeArr;
SYSTEMTIME *SysTimeArr;
GUID *GuidArr;
wchar_t **StringArr;
char **AnsiStringArr;
PSID *SidArr;
size_t *SizeTArr;
EVT_HANDLE EvtHandleVal;
const wchar_t *XmlVal;
const wchar_t **XmlValArr;
};
DWORD Count;
DWORD Type;