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_LOGIN_CLASS
{
60 typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION
{
61 EvtSubscribeActionError
= 0,
62 EvtSubscribeActionDeliver
63 } EVT_SUBSCRIBE_NOTIFY_ACTION
;
65 typedef struct _EVT_VARIANT
{
78 ULONGLONG FileTimeVal
;
79 SYSTEMTIME
* SysTimeVal
;
98 FILETIME
* FileTimeArr
;
99 SYSTEMTIME
* SysTimeArr
;
102 LPSTR
* AnsiStringArr
;
106 EVT_HANDLE EvtHandleVal
;
113 } EVT_VARIANT
, *PEVT_VARIANT
;
115 typedef DWORD (WINAPI
*EVT_SUBSCRIBE_CALLBACK
)(EVT_SUBSCRIBE_NOTIFY_ACTION Action
,
116 PVOID UserContext
, EVT_HANDLE Event
);
117 BOOL WINAPI
EvtExportLog(EVT_HANDLE session
, const WCHAR
*path
, const WCHAR
*query
,
118 const WCHAR
*file
, DWORD flags
);
119 BOOL WINAPI
EvtGetChannelConfigProperty(EVT_HANDLE ChannelConfig
,
120 EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId
,
121 DWORD Flags
, DWORD PropertyValueBufferSize
,
122 PEVT_VARIANT PropertyValueBuffer
,
123 PDWORD PropertyValueBufferUsed
);
124 BOOL WINAPI
EvtSetChannelConfigProperty(EVT_HANDLE ChannelConfig
,
125 EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId
,
126 DWORD Flags
, PEVT_VARIANT PropertyValue
);
127 EVT_HANDLE WINAPI
EvtSubscribe(EVT_HANDLE Session
, HANDLE SignalEvent
, LPCWSTR ChannelPath
,
128 LPCWSTR Query
, EVT_HANDLE Bookmark
, PVOID context
,
129 EVT_SUBSCRIBE_CALLBACK Callback
, DWORD Flags
);
130 EVT_HANDLE WINAPI
EvtOpenChannelConfig(EVT_HANDLE Session
, LPCWSTR ChannelPath
, DWORD Flags
);
131 BOOL WINAPI
EvtSaveChannelConfig(EVT_HANDLE
, DWORD
);
135 #endif /* defined(__cplusplus) */
137 #endif /* __WINE_WINEVT_H */