2 * Copyright (c) 2005 Saveliy Tretiakov (saveliyt@mail.ru)
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 uuid(82273FDC-E32A-18C3-3F78-827929DC23EA),
22 pointer_default(unique),
30 typedef [handle, unique] wchar_t *LPWSTR;
31 typedef [handle, unique] char *LPSTR;
33 typedef [context_handle] void *LOGHANDLE;
34 typedef LOGHANDLE *PLOGHANDLE;
35 typedef unsigned int NTSTATUS;
37 typedef struct _UNICODE_STRING {
38 unsigned short Length;
39 unsigned short MaximumLength;
40 [size_is(MaximumLength)] wchar_t *Buffer;
41 } UNICODE_STRING, *PUNICODE_STRING;
43 typedef struct _ANSI_STRING {
44 unsigned short Length;
45 unsigned short MaximumLength;
46 [size_is(MaximumLength)] char *Buffer;
47 } ANSI_STRING, *PANSI_STRING;
50 #define LPWSTR wchar_t*
52 #define LOGHANDLE unsigned char*
53 #define PLOGHANDLE int*
57 NTSTATUS EventLogClearW(
58 handle_t BindingHandle,
59 [in] LOGHANDLE Handle,
60 [in] wchar_t *BackupName);
63 NTSTATUS EventLogBackupW(
64 handle_t BindingHandle,
65 [in] LOGHANDLE Handle,
66 [in] wchar_t *FileName);
69 NTSTATUS EventLogClose(
70 handle_t BindingHandle,
71 [in,out] PLOGHANDLE Handle);
74 NTSTATUS EventLogUnregSrc(
75 handle_t BindingHandle,
76 [in,out] PLOGHANDLE Handle);
79 NTSTATUS EventLogRecordsNumber(
80 handle_t BindingHandle,
81 [in] LOGHANDLE Handle,
82 [out] unsigned long *RecordsNumber);
85 NTSTATUS EventLogGetOldestRec(
86 handle_t BindingHandle,
87 [in] LOGHANDLE Handle,
88 [out] unsigned long *OldestRecNumber);
91 NTSTATUS Unknown6(handle_t BindingHandle);
94 NTSTATUS EventLogOpenW(
95 handle_t BindingHandle,
96 [in] LPWSTR ServerName,
97 [in] wchar_t *FileName,
98 [in] wchar_t *NullStr,
99 [in] unsigned long MajorVer,
100 [in] unsigned long MinorVer,
101 [out] PLOGHANDLE Handle );
104 NTSTATUS EventLogRegSrcW(
105 handle_t BindingHandle,
106 [in] LPWSTR ServerName,
107 [in] wchar_t *LogName,
108 [in] wchar_t *NullStr,
109 [in] unsigned long MajorVer,
110 [in] unsigned long MinorVer,
111 [out] PLOGHANDLE Handle);
114 NTSTATUS EventLogOpenBackupW(
115 handle_t BindingHandle,
116 [in] LPWSTR ServerName,
117 [in] wchar_t *BackupName,
118 [in] unsigned long MajorVer,
119 [in] unsigned long MinorVer,
120 [out] PLOGHANDLE Handle);
123 NTSTATUS EventLogReadW(
124 handle_t BindingHandle,
125 [in] LOGHANDLE Handle,
126 [in] unsigned long Flags,
127 [in] unsigned long Offset,
128 [in] unsigned long BufSize,
129 [out,size_is(BufSize)] unsigned char *Buffer,
130 [out] unsigned long *BytesRead,
131 [out] unsigned long *BytesNeeded);
134 NTSTATUS EventLogReportEventW(
135 handle_t BindingHandle,
136 [in] LOGHANDLE Handle,
137 [in] unsigned long Time,
138 [in] unsigned short Type,
139 [in] unsigned short Category,
140 [in] unsigned long ID,
141 [in] unsigned short NumStrings,
142 [in] unsigned long DataSize,
143 [in] wchar_t *ComputerName,
144 [in] unsigned char *SID,
145 [in] wchar_t *Strings,
146 [in,size_is(DataSize)] unsigned char *Data,
147 [in] unsigned short Flags);
150 NTSTATUS EventLogClearA(
151 handle_t BindingHandle,
152 [in] LOGHANDLE Handle,
153 [in] char *BackupName);
156 NTSTATUS EventLogBackupA(
157 handle_t BindingHandle,
158 [in] LOGHANDLE Handle,
159 [in] char *BackupName);
162 NTSTATUS EventLogOpenA(
163 handle_t BindingHandle,
164 [in] LPSTR ServerName,
167 [in] unsigned long MajorVer,
168 [in] unsigned long MinorVer,
169 [out] PLOGHANDLE Handle);
172 NTSTATUS EventLogRegSrcA(
173 handle_t BindingHandle,
174 [in] LPSTR ServerName,
177 [in] unsigned long MajorVer,
178 [in] unsigned long MinorVer,
179 [out] PLOGHANDLE Handle);
183 NTSTATUS EventLogOpenBackupA(
184 handle_t BindingHandle,
185 [in] LPSTR ServerName,
186 [in] char *BackupName,
187 [in] unsigned long MajorVer,
188 [in] unsigned long MinorVer,
189 [out] PLOGHANDLE Handle);
192 NTSTATUS EventLogReadA(
193 handle_t BindingHandle,
194 [in] LOGHANDLE Handle,
195 [in] unsigned long Flags,
196 [in] unsigned long Offset,
197 [in] unsigned long BufSize,
198 [out,size_is(BufSize)] unsigned char *Buffer,
199 [out] unsigned long *BytesRead,
200 [out] unsigned long *BytesNeeded);
203 NTSTATUS EventLogReportEventA(
204 handle_t BindingHandle,
205 [in] LOGHANDLE Handle,
206 [in] unsigned long Time,
207 [in] unsigned short Type,
208 [in] unsigned short Category,
209 [in] unsigned long ID,
210 [in] unsigned short NumStrings,
211 [in] unsigned long DataSize,
212 [in] char *ComputerName,
213 [in] unsigned char *SID,
215 [in,size_is(DataSize)] unsigned char *Data,
216 [in] unsigned short Flags);
219 NTSTATUS Unknown19(handle_t BindingHandle);
222 NTSTATUS Unknown20(handle_t BindingHandle);
225 NTSTATUS Unknown21(handle_t BindingHandle);
228 NTSTATUS EventLogGetInfo(
229 handle_t BindingHandle,
230 [in] LOGHANDLE Handle,
231 [in] unsigned long InfoLevel,
232 [out,size_is(BufSize)] unsigned char *Buffer,
233 [in] unsigned long BufSize,
234 [out] unsigned long *BytesNeeded);