1 | /* Definitions for the Windows Event Log (wevtapi.dll)
|
---|
2 | *
|
---|
3 | * Copyright 2012 André Hentschel
|
---|
4 | *
|
---|
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.
|
---|
9 | *
|
---|
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.
|
---|
14 | *
|
---|
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
|
---|
18 | */
|
---|
19 |
|
---|
20 | /*
|
---|
21 | * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
22 | * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
|
---|
23 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
24 | * a choice of LGPL license versions is made available with the language indicating
|
---|
25 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
26 | * of the LGPL is applied is otherwise unspecified.
|
---|
27 | */
|
---|
28 |
|
---|
29 | #ifndef __WINE_WINEVT_H
|
---|
30 | #define __WINE_WINEVT_H
|
---|
31 |
|
---|
32 | #include <wtypes.h>
|
---|
33 |
|
---|
34 | #ifdef __cplusplus
|
---|
35 | extern "C" {
|
---|
36 | #endif /* defined(__cplusplus) */
|
---|
37 |
|
---|
38 | typedef HANDLE EVT_HANDLE, *PEVT_HANDLE;
|
---|
39 |
|
---|
40 | typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID {
|
---|
41 | EvtChannelConfigEnabled = 0,
|
---|
42 | EvtChannelConfigIsolation,
|
---|
43 | EvtChannelConfigType,
|
---|
44 | EvtChannelConfigOwningPublisher,
|
---|
45 | EvtChannelConfigClassicEventlog,
|
---|
46 | EvtChannelConfigAccess,
|
---|
47 | EvtChannelLoggingConfigRetention,
|
---|
48 | EvtChannelLoggingConfigAutoBackup,
|
---|
49 | EvtChannelLoggingConfigMaxSize,
|
---|
50 | EvtChannelLoggingConfigLogFilePath,
|
---|
51 | EvtChannelPublishingConfigLevel,
|
---|
52 | EvtChannelPublishingConfigKeywords,
|
---|
53 | EvtChannelPublishingConfigControlGuid,
|
---|
54 | EvtChannelPublishingConfigBufferSize,
|
---|
55 | EvtChannelPublishingConfigMinBuffers,
|
---|
56 | EvtChannelPublishingConfigMaxBuffers,
|
---|
57 | EvtChannelPublishingConfigLatency,
|
---|
58 | EvtChannelPublishingConfigClockType,
|
---|
59 | EvtChannelPublishingConfigSidType,
|
---|
60 | EvtChannelPublisherList,
|
---|
61 | EvtChannelPublishingConfigFileMax,
|
---|
62 | EvtChannelConfigPropertyIdEND
|
---|
63 | } EVT_CHANNEL_CONFIG_PROPERTY_ID;
|
---|
64 |
|
---|
65 | typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION {
|
---|
66 | EvtSubscribeActionError = 0,
|
---|
67 | EvtSubscribeActionDeliver
|
---|
68 | } EVT_SUBSCRIBE_NOTIFY_ACTION;
|
---|
69 |
|
---|
70 | typedef struct _EVT_VARIANT {
|
---|
71 | union {
|
---|
72 | BOOL BooleanVal;
|
---|
73 | INT8 SByteVal;
|
---|
74 | INT16 Int16Val;
|
---|
75 | INT32 Int32Val;
|
---|
76 | INT64 Int64Val;
|
---|
77 | UINT8 ByteVal;
|
---|
78 | UINT16 UInt16Val;
|
---|
79 | UINT32 UInt32Val;
|
---|
80 | UINT64 UInt64Val;
|
---|
81 | FLOAT SingleVal;
|
---|
82 | DOUBLE DoubleVal;
|
---|
83 | ULONGLONG FileTimeVal;
|
---|
84 | SYSTEMTIME* SysTimeVal;
|
---|
85 | GUID* GuidVal;
|
---|
86 | LPCWSTR StringVal;
|
---|
87 | LPCSTR AnsiStringVal;
|
---|
88 | PBYTE BinaryVal;
|
---|
89 | PSID SidVal;
|
---|
90 | SIZE_T SizeTVal;
|
---|
91 |
|
---|
92 | BOOL* BooleanArr;
|
---|
93 | INT8* SByteArr;
|
---|
94 | INT16* Int16Arr;
|
---|
95 | INT32* Int32Arr;
|
---|
96 | INT64* Int64Arr;
|
---|
97 | UINT8* ByteArr;
|
---|
98 | UINT16* UInt16Arr;
|
---|
99 | UINT32* UInt32Arr;
|
---|
100 | UINT64* UInt64Arr;
|
---|
101 | FLOAT* SingleArr;
|
---|
102 | DOUBLE* DoubleArr;
|
---|
103 | FILETIME* FileTimeArr;
|
---|
104 | SYSTEMTIME* SysTimeArr;
|
---|
105 | GUID* GuidArr;
|
---|
106 | LPWSTR* StringArr;
|
---|
107 | LPSTR* AnsiStringArr;
|
---|
108 | PSID* SidArr;
|
---|
109 | SIZE_T* SizeTArr;
|
---|
110 |
|
---|
111 | EVT_HANDLE EvtHandleVal;
|
---|
112 | LPCWSTR XmlVal;
|
---|
113 | LPCWSTR* XmlValArr;
|
---|
114 | } DUMMYUNIONNAME;
|
---|
115 |
|
---|
116 | DWORD Count;
|
---|
117 | DWORD Type;
|
---|
118 | } EVT_VARIANT, *PEVT_VARIANT;
|
---|
119 |
|
---|
120 | typedef DWORD (WINAPI *EVT_SUBSCRIBE_CALLBACK)(EVT_SUBSCRIBE_NOTIFY_ACTION Action,
|
---|
121 | PVOID UserContext, EVT_HANDLE Event);
|
---|
122 |
|
---|
123 | BOOL WINAPI EvtGetChannelConfigProperty(EVT_HANDLE ChannelConfig,
|
---|
124 | EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
|
---|
125 | DWORD Flags, DWORD PropertyValueBufferSize,
|
---|
126 | PEVT_VARIANT PropertyValueBuffer,
|
---|
127 | PDWORD PropertyValueBufferUsed);
|
---|
128 | BOOL WINAPI EvtSetChannelConfigProperty(EVT_HANDLE ChannelConfig,
|
---|
129 | EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
|
---|
130 | DWORD Flags, PEVT_VARIANT PropertyValue);
|
---|
131 | EVT_HANDLE WINAPI EvtSubscribe(EVT_HANDLE Session, HANDLE SignalEvent, LPCWSTR ChannelPath,
|
---|
132 | LPCWSTR Query, EVT_HANDLE Bookmark, PVOID context,
|
---|
133 | EVT_SUBSCRIBE_CALLBACK Callback, DWORD Flags);
|
---|
134 | EVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath, DWORD Flags);
|
---|
135 |
|
---|
136 |
|
---|
137 | #ifdef __cplusplus
|
---|
138 | } /* extern "C" */
|
---|
139 | #endif /* defined(__cplusplus) */
|
---|
140 |
|
---|
141 | #endif /* __WINE_WINEVT_H */
|
---|