3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Definitions for the Windows Event Log (wevtapi.dll)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2012 André Hentschel
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_WINEVT_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_WINEVT_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <wtypes.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* defined(__cplusplus) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef HANDLE EVT_HANDLE, *PEVT_HANDLE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigEnabled = 0,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigIsolation,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigType,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigOwningPublisher,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigClassicEventlog,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigAccess,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelLoggingConfigRetention,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelLoggingConfigAutoBackup,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelLoggingConfigMaxSize,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelLoggingConfigLogFilePath,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigLevel,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigKeywords,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigControlGuid,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigBufferSize,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigMinBuffers,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigMaxBuffers,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigLatency,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigClockType,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigSidType,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublisherList,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelPublishingConfigFileMax,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtChannelConfigPropertyIdEND
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} EVT_CHANNEL_CONFIG_PROPERTY_ID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtSubscribeActionError = 0,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EvtSubscribeActionDeliver
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} EVT_SUBSCRIBE_NOTIFY_ACTION;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _EVT_VARIANT {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync union {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BOOL BooleanVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT8 SByteVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT16 Int16Val;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT32 Int32Val;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT64 Int64Val;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT8 ByteVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT16 UInt16Val;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT32 UInt32Val;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT64 UInt64Val;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync FLOAT SingleVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DOUBLE DoubleVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONGLONG FileTimeVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SYSTEMTIME* SysTimeVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID* GuidVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCWSTR StringVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCSTR AnsiStringVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PBYTE BinaryVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSID SidVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SIZE_T SizeTVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BOOL* BooleanArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT8* SByteArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT16* Int16Arr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT32* Int32Arr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync INT64* Int64Arr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT8* ByteArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT16* UInt16Arr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT32* UInt32Arr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT64* UInt64Arr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync FLOAT* SingleArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DOUBLE* DoubleArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync FILETIME* FileTimeArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SYSTEMTIME* SysTimeArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID* GuidArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR* StringArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR* AnsiStringArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PSID* SidArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync SIZE_T* SizeTArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EVT_HANDLE EvtHandleVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCWSTR XmlVal;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCWSTR* XmlValArr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync } DUMMYUNIONNAME;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Count;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Type;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} EVT_VARIANT, *PEVT_VARIANT;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD (WINAPI *EVT_SUBSCRIBE_CALLBACK)(EVT_SUBSCRIBE_NOTIFY_ACTION Action,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PVOID UserContext, EVT_HANDLE Event);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI EvtGetChannelConfigProperty(EVT_HANDLE ChannelConfig,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Flags, DWORD PropertyValueBufferSize,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PEVT_VARIANT PropertyValueBuffer,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PDWORD PropertyValueBufferUsed);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI EvtSetChannelConfigProperty(EVT_HANDLE ChannelConfig,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD Flags, PEVT_VARIANT PropertyValue);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncEVT_HANDLE WINAPI EvtSubscribe(EVT_HANDLE Session, HANDLE SignalEvent, LPCWSTR ChannelPath,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPCWSTR Query, EVT_HANDLE Bookmark, PVOID context,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync EVT_SUBSCRIBE_CALLBACK Callback, DWORD Flags);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncEVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath, DWORD Flags);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} /* extern "C" */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* defined(__cplusplus) */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_WINEVT_H */