1 /* Definitions for the Windows Event Log (wevtapi.dll)
3 * Copyright 2012 André Hentschel
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef __WINE_WINEVT_H
21 #define __WINE_WINEVT_H
27 #endif /* defined(__cplusplus) */
29 typedef HANDLE EVT_HANDLE, *PEVT_HANDLE;
31 typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID {
32 EvtChannelConfigEnabled = 0,
33 EvtChannelConfigIsolation,
35 EvtChannelConfigOwningPublisher,
36 EvtChannelConfigClassicEventlog,
37 EvtChannelConfigAccess,
38 EvtChannelLoggingConfigRetention,
39 EvtChannelLoggingConfigAutoBackup,
40 EvtChannelLoggingConfigMaxSize,
41 EvtChannelLoggingConfigLogFilePath,
42 EvtChannelPublishingConfigLevel,
43 EvtChannelPublishingConfigKeywords,
44 EvtChannelPublishingConfigControlGuid,
45 EvtChannelPublishingConfigBufferSize,
46 EvtChannelPublishingConfigMinBuffers,
47 EvtChannelPublishingConfigMaxBuffers,
48 EvtChannelPublishingConfigLatency,
49 EvtChannelPublishingConfigClockType,
50 EvtChannelPublishingConfigSidType,
51 EvtChannelPublisherList,
52 EvtChannelPublishingConfigFileMax,
53 EvtChannelConfigPropertyIdEND
54 } EVT_CHANNEL_CONFIG_PROPERTY_ID;
56 typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION {
57 EvtSubscribeActionError = 0,
58 EvtSubscribeActionDeliver
59 } EVT_SUBSCRIBE_NOTIFY_ACTION;
61 typedef struct _EVT_VARIANT {
74 ULONGLONG FileTimeVal;
75 SYSTEMTIME* SysTimeVal;
94 FILETIME* FileTimeArr;
95 SYSTEMTIME* SysTimeArr;
102 EVT_HANDLE EvtHandleVal;
109 } EVT_VARIANT, *PEVT_VARIANT;
111 typedef DWORD (WINAPI *EVT_SUBSCRIBE_CALLBACK)(EVT_SUBSCRIBE_NOTIFY_ACTION Action,
112 PVOID UserContext, EVT_HANDLE Event);
114 BOOL WINAPI EvtGetChannelConfigProperty(EVT_HANDLE ChannelConfig,
115 EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
116 DWORD Flags, DWORD PropertyValueBufferSize,
117 PEVT_VARIANT PropertyValueBuffer,
118 PDWORD PropertyValueBufferUsed);
119 BOOL WINAPI EvtSetChannelConfigProperty(EVT_HANDLE ChannelConfig,
120 EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
121 DWORD Flags, PEVT_VARIANT PropertyValue);
122 EVT_HANDLE WINAPI EvtSubscribe(EVT_HANDLE Session, HANDLE SignalEvent, LPCWSTR ChannelPath,
123 LPCWSTR Query, EVT_HANDLE Bookmark, PVOID context,
124 EVT_SUBSCRIBE_CALLBACK Callback, DWORD Flags);
125 EVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath, DWORD Flags);
130 #endif /* defined(__cplusplus) */
132 #endif /* __WINE_WINEVT_H */