-/*
- * Copyright (c) 2005 Saveliy Tretiakov (saveliyt@mail.ru)
+/*
+ * Copyright 2005 Saveliy Tretiakov
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
+
[
uuid(82273FDC-E32A-18C3-3F78-827929DC23EA),
version(0.0),
- pointer_default(unique),
- explicit_handle
+ pointer_default(unique)
+#ifndef __midl
+ ,explicit_handle
+#endif
]
interface eventlog
{
- /*
cpp_quote("#if 0")
+#ifdef __midl
typedef [handle, unique] wchar_t *LPWSTR;
typedef [handle, unique] char *LPSTR;
- cpp_quote("#endif")
- typedef [context_handle] void *LOGHANDLE;
- typedef LOGHANDLE *PLOGHANDLE;
typedef unsigned int NTSTATUS;
+#else
+ #define LPWSTR wchar_t *
+ #define LPSTR char *
+ #define NTSTATUS long
+#endif
+#ifdef __midl
typedef struct _UNICODE_STRING {
unsigned short Length;
unsigned short MaximumLength;
- [size_is(MaximumLength)] wchar_t *Buffer;
+ [size_is(MaximumLength/2), unique] wchar_t *Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
typedef struct _ANSI_STRING {
unsigned short Length;
unsigned short MaximumLength;
- [size_is(MaximumLength)] char *Buffer;
+ [size_is(MaximumLength), unique] char *Buffer;
} ANSI_STRING, *PANSI_STRING;
- */
-
- #define LPWSTR wchar_t*
- #define LPSTR char*
- #define LOGHANDLE unsigned char*
- #define PLOGHANDLE int*
- #define NTSTATUS long
-
- /* Function 0 */
- NTSTATUS EventLogClearW(
+#else
+ #define PUNICODE_STRING wchar_t *
+ #define PANSI_STRING char *
+#endif
+ cpp_quote("#endif")
+
+#ifdef __midl
+ typedef [context_handle] struct _LOGHANDLE {
+ int pos;
+ } *LOGHANDLE;
+ typedef LOGHANDLE *PLOGHANDLE;
+#else
+ #define LOGHANDLE unsigned int
+ #define PLOGHANDLE unsigned int*
+ cpp_quote("typedef unsigned int LOGHANDLE, *PLOGHANDLE;")
+#endif
+
+ /* Function 0x00 */
+ NTSTATUS ElfrClearELFW(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] wchar_t *BackupName);
+ [in] PUNICODE_STRING BackupName);
- /* Function 1 */
- NTSTATUS EventLogBackupW(
+ /* Function 0x01 */
+ NTSTATUS ElfrBackupELFW(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] wchar_t *FileName);
-
- /* Function 2 */
- NTSTATUS EventLogClose(
+ [in] PUNICODE_STRING BackupName);
+
+ /* Function 0x02 */
+ NTSTATUS ElfrCloseEL(
+#ifndef __midl
handle_t BindingHandle,
- [in,out] PLOGHANDLE Handle);
+#endif
+ [in,out] PLOGHANDLE Handle);
- /* Function 3 */
- NTSTATUS EventLogUnregSrc(
+ /* Function 0x03 */
+ NTSTATUS ElfrDeregisterEventSource(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in,out] PLOGHANDLE Handle);
- /* Function 4 */
- NTSTATUS EventLogRecordsNumber(
+ /* Function 0x04 */
+ NTSTATUS ElfrNumberOfRecords(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [out] unsigned long *RecordsNumber);
+ [out] long *NumberOfRecords);
- /* Function 5 */
- NTSTATUS EventLogGetOldestRec(
+ /* Function 0x05 */
+ NTSTATUS ElfrOldestRecord(
+#ifndef __midl
handle_t BindingHandle,
- [in] LOGHANDLE Handle,
- [out] unsigned long *OldestRecNumber);
+#endif
+ [in] LOGHANDLE LogHandle,
+ [out] long *OldestRecNumber);
- /* FIXME */
- NTSTATUS Unknown6(handle_t BindingHandle);
+ /* Function 0x06 */
+ //NTSTATUS ElfrChangeNotify(); // FIXME
- /* Function 7 */
- NTSTATUS EventLogOpenW(
+ /* Function 0x07 */
+ NTSTATUS ElfrOpenELW(
+#ifndef __midl
handle_t BindingHandle,
- [in] LPWSTR ServerName,
- [in] wchar_t *FileName,
- [in] wchar_t *NullStr,
- [in] unsigned long MajorVer,
- [in] unsigned long MinorVer,
+#endif
+ [in, unique] LPWSTR ServerName,
+ [in] PUNICODE_STRING FileName,
+ [in] PUNICODE_STRING NullStr,
+ [in] long MajorVer,
+ [in] long MinorVer,
[out] PLOGHANDLE Handle );
-
- /* Function 8 */
- NTSTATUS EventLogRegSrcW(
- handle_t BindingHandle,
- [in] LPWSTR ServerName,
- [in] wchar_t *LogName,
- [in] wchar_t *NullStr,
- [in] unsigned long MajorVer,
- [in] unsigned long MinorVer,
+
+ /* Function 0x08 */
+ NTSTATUS ElfrRegisterEventSourceW(
+#ifndef __midl
+ handle_t BindingHandle,
+#endif
+ [in, unique] LPWSTR ServerName,
+ [in] PUNICODE_STRING LogName,
+ [in] PUNICODE_STRING NullStr,
+ [in] long MajorVer,
+ [in] long MinorVer,
[out] PLOGHANDLE Handle);
-
- /* Function 9 */
- NTSTATUS EventLogOpenBackupW(
- handle_t BindingHandle,
- [in] LPWSTR ServerName,
- [in] wchar_t *BackupName,
- [in] unsigned long MajorVer,
- [in] unsigned long MinorVer,
+
+ /* Function 0x09 */
+ NTSTATUS ElfrOpenBELW(
+#ifndef __midl
+ handle_t BindingHandle,
+#endif
+ [in, unique] LPWSTR ServerName,
+ [in] PUNICODE_STRING BackupName,
+ [in] long MajorVer,
+ [in] long MinorVer,
[out] PLOGHANDLE Handle);
- /* Function 10 */
- NTSTATUS EventLogReadW(
+ /* Function 0x0a */
+ NTSTATUS ElfrReadELW(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] unsigned long Flags,
- [in] unsigned long Offset,
- [in] unsigned long BufSize,
+ [in] long Flags,
+ [in] long Offset,
+ [in] long BufSize,
[out,size_is(BufSize)] unsigned char *Buffer,
- [out] unsigned long *BytesRead,
- [out] unsigned long *BytesNeeded);
+ [out] long *BytesRead,
+ [out] long *BytesNeeded);
- /* Function 11 */
- NTSTATUS EventLogReportEventW(
+ /* Function 0x0b */
+ NTSTATUS ElfrReportEventW(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] unsigned long Time,
- [in] unsigned short Type,
- [in] unsigned short Category,
- [in] unsigned long ID,
- [in] unsigned short NumStrings,
- [in] unsigned long DataSize,
- [in] wchar_t *ComputerName,
- [in] unsigned char *SID,
- [in] wchar_t *Strings,
- [in,size_is(DataSize)] unsigned char *Data,
- [in] unsigned short Flags);
-
- /* Function 12 */
- NTSTATUS EventLogClearA(
+ [in] long Time,
+ [in] short Type,
+ [in] short Category,
+ [in] long ID,
+ [in] short NumStrings,
+ [in] long DataSize,
+ [in] PUNICODE_STRING ComputerName,
+ [in, unique] unsigned char *SID,
+#ifdef __midl
+ [in, size_is(NumStrings), unique] PUNICODE_STRING Strings[*],
+#else
+ [in, size_is(NumStrings), unique] PUNICODE_STRING *Strings,
+#endif
+ [in, size_is(DataSize), unique] unsigned char *Data,
+ [in] short Flags,
+ [in,out,unique] long *unknown1,
+ [in,out,unique] long *unknown2);
+
+ /* Function 0x0c */
+ NTSTATUS ElfrClearELFA(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] char *BackupName);
+ [in,unique] PANSI_STRING BackupName);
- /* Function 13 */
- NTSTATUS EventLogBackupA(
+ /* Function 0x0d */
+ NTSTATUS ElfrBackupELFA(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] char *BackupName);
+ [in] PANSI_STRING BackupName);
- /* Function 14 */
- NTSTATUS EventLogOpenA(
+ /* Function 0x0e */
+ NTSTATUS ElfrOpenELA(
+#ifndef __midl
handle_t BindingHandle,
- [in] LPSTR ServerName,
- [in] char *LogName,
- [in] char *NullStr,
- [in] unsigned long MajorVer,
- [in] unsigned long MinorVer,
+#endif
+ [in, unique] LPSTR ServerName,
+ [in] PANSI_STRING LogName,
+ [in] PANSI_STRING NullStr,
+ [in] long MajorVer,
+ [in] long MinorVer,
[out] PLOGHANDLE Handle);
- /* Function 15 */
- NTSTATUS EventLogRegSrcA(
+ /* Function 0x0f */
+ NTSTATUS ElfrRegisterEventSourceA(
+#ifndef __midl
handle_t BindingHandle,
- [in] LPSTR ServerName,
- [in] char *LogName,
- [in] char *NullStr,
- [in] unsigned long MajorVer,
- [in] unsigned long MinorVer,
+#endif
+ [in, unique] LPSTR ServerName,
+ [in] PANSI_STRING LogName,
+ [in] PANSI_STRING NullStr,
+ [in] long MajorVer,
+ [in] long MinorVer,
[out] PLOGHANDLE Handle);
-
- /* Function 16 */
- NTSTATUS EventLogOpenBackupA(
+ /* Function 0x10 */
+ NTSTATUS ElfrOpenBELA(
+#ifndef __midl
handle_t BindingHandle,
- [in] LPSTR ServerName,
- [in] char *BackupName,
- [in] unsigned long MajorVer,
- [in] unsigned long MinorVer,
+#endif
+ [in, unique] LPSTR ServerName,
+ [in] PANSI_STRING BakckupName,
+ [in] long MajorVer,
+ [in] long MinorVer,
[out] PLOGHANDLE Handle);
- /* Function 17 */
- NTSTATUS EventLogReadA(
+ /* Function 0x11 */
+ NTSTATUS ElfrReadELA(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] unsigned long Flags,
- [in] unsigned long Offset,
- [in] unsigned long BufSize,
+ [in] long Flags,
+ [in] long Offset,
+ [in] long BufSize,
[out,size_is(BufSize)] unsigned char *Buffer,
- [out] unsigned long *BytesRead,
- [out] unsigned long *BytesNeeded);
+ [out] long *BytesRead,
+ [out] long *BytesNeeded);
- /* Function 18 */
- NTSTATUS EventLogReportEventA(
+ /* Function 0x12 */
+ NTSTATUS ElfrReportEventA(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] unsigned long Time,
- [in] unsigned short Type,
- [in] unsigned short Category,
- [in] unsigned long ID,
- [in] unsigned short NumStrings,
- [in] unsigned long DataSize,
- [in] char *ComputerName,
- [in] unsigned char *SID,
- [in] char* Strings,
- [in,size_is(DataSize)] unsigned char *Data,
- [in] unsigned short Flags);
-
- /* FIXME */
- NTSTATUS Unknown19(handle_t BindingHandle);
-
- /* FIXME */
- NTSTATUS Unknown20(handle_t BindingHandle);
-
- /* FIXME */
- NTSTATUS Unknown21(handle_t BindingHandle);
-
- /* Function 22 */
- NTSTATUS EventLogGetInfo(
+ [in] long Time,
+ [in] short Type,
+ [in] short Category,
+ [in] long ID,
+ [in] short NumStrings,
+ [in] long DataSize,
+ [in] PANSI_STRING ComputerName,
+ [in, unique] unsigned char *SID,
+#ifdef __midl
+ [in, size_is(NumStrings), unique] PANSI_STRING Strings[*],
+#else
+ [in, size_is(NumStrings), unique] PANSI_STRING *Strings,
+#endif
+ [in, size_is(DataSize), unique] unsigned char *Data,
+ [in] short Flags,
+ [in,out,unique] long *unknown1,
+ [in,out,unique] long *unknown2);
+
+ /* Function 0x13 */
+ //NTSTATUS ElfrRegisterClusterSvc(); //FIXME
+
+ /* Function 0x14 */
+ //NTSTATUS ElfrDeregisterClusterSvc(); //FIXME
+
+ /* Function 0x15 */
+ //NTSTATUS ElfrWriteClusterEvents(); //FIXME
+
+ /* Function 0x16 */
+ NTSTATUS ElfrGetLogInformation(
+#ifndef __midl
handle_t BindingHandle,
+#endif
[in] LOGHANDLE Handle,
- [in] unsigned long InfoLevel,
- [out,size_is(BufSize)] unsigned char *Buffer,
- [in] unsigned long BufSize,
- [out] unsigned long *BytesNeeded);
+ [in] long InfoLevel,
+ [out, size_is(BufSize)] unsigned char *Buffer,
+ [in] long BufSize,
+ [out] long *BytesNeeded);
-}
+ /* Function 0x17 */
+ NTSTATUS ElfrFlushEL(
+#ifndef __midl
+ handle_t BindingHandle,
+#endif
+ [in] LOGHANDLE Handle);
+}