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 */