| /* Definitions for the Windows Event Log (wevtapi.dll) |
| * |
| * Copyright 2012 André Hentschel |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #ifndef __WINE_WINEVT_H |
| #define __WINE_WINEVT_H |
| |
| #include <wtypes.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif /* defined(__cplusplus) */ |
| |
| typedef HANDLE EVT_HANDLE, *PEVT_HANDLE; |
| |
| typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID { |
| EvtChannelConfigEnabled = 0, |
| EvtChannelConfigIsolation, |
| EvtChannelConfigType, |
| EvtChannelConfigOwningPublisher, |
| EvtChannelConfigClassicEventlog, |
| EvtChannelConfigAccess, |
| EvtChannelLoggingConfigRetention, |
| EvtChannelLoggingConfigAutoBackup, |
| EvtChannelLoggingConfigMaxSize, |
| EvtChannelLoggingConfigLogFilePath, |
| EvtChannelPublishingConfigLevel, |
| EvtChannelPublishingConfigKeywords, |
| EvtChannelPublishingConfigControlGuid, |
| EvtChannelPublishingConfigBufferSize, |
| EvtChannelPublishingConfigMinBuffers, |
| EvtChannelPublishingConfigMaxBuffers, |
| EvtChannelPublishingConfigLatency, |
| EvtChannelPublishingConfigClockType, |
| EvtChannelPublishingConfigSidType, |
| EvtChannelPublisherList, |
| EvtChannelPublishingConfigFileMax, |
| EvtChannelConfigPropertyIdEND |
| } EVT_CHANNEL_CONFIG_PROPERTY_ID; |
| |
| typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION { |
| EvtSubscribeActionError = 0, |
| EvtSubscribeActionDeliver |
| } EVT_SUBSCRIBE_NOTIFY_ACTION; |
| |
| 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; |
| LPCWSTR StringVal; |
| LPCSTR 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; |
| LPWSTR* StringArr; |
| LPSTR* AnsiStringArr; |
| PSID* SidArr; |
| SIZE_T* SizeTArr; |
| |
| EVT_HANDLE EvtHandleVal; |
| LPCWSTR XmlVal; |
| LPCWSTR* XmlValArr; |
| } DUMMYUNIONNAME; |
| |
| DWORD Count; |
| DWORD Type; |
| } EVT_VARIANT, *PEVT_VARIANT; |
| |
| typedef DWORD (WINAPI *EVT_SUBSCRIBE_CALLBACK)(EVT_SUBSCRIBE_NOTIFY_ACTION Action, |
| PVOID UserContext, EVT_HANDLE Event); |
| |
| BOOL WINAPI EvtGetChannelConfigProperty(EVT_HANDLE ChannelConfig, |
| EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId, |
| DWORD Flags, DWORD PropertyValueBufferSize, |
| PEVT_VARIANT PropertyValueBuffer, |
| PDWORD PropertyValueBufferUsed); |
| BOOL WINAPI EvtSetChannelConfigProperty(EVT_HANDLE ChannelConfig, |
| EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId, |
| DWORD Flags, PEVT_VARIANT PropertyValue); |
| EVT_HANDLE WINAPI EvtSubscribe(EVT_HANDLE Session, HANDLE SignalEvent, LPCWSTR ChannelPath, |
| LPCWSTR Query, EVT_HANDLE Bookmark, PVOID context, |
| EVT_SUBSCRIBE_CALLBACK Callback, DWORD Flags); |
| EVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath, DWORD Flags); |
| |
| |
| #ifdef __cplusplus |
| } /* extern "C" */ |
| #endif /* defined(__cplusplus) */ |
| |
| #endif /* __WINE_WINEVT_H */ |