From ff19f85f5734238bcf0480878fb3e905e9603885 Mon Sep 17 00:00:00 2001 From: Saveliy Tretiakov Date: Thu, 16 Mar 2006 18:41:32 +0000 Subject: [PATCH] Temporary disable rpc in eventlog to avoid build breakage. (will be automatically enabled when compiling with midl and msvc) Make eventlogrpc.idl compatible with windows. Reuse names from http://www.hsc.fr/ressources/articles/win_net_srv/ch04s07s06.html svn path=/trunk/; revision=21319 --- reactos/base/services/eventlog/eventlog.c | 2 + reactos/base/services/eventlog/eventlog.h | 170 --------- reactos/base/services/eventlog/rpc.c | 287 +++++++-------- reactos/include/reactos/idl/eventlogrpc.acf | 2 +- reactos/include/reactos/idl/eventlogrpc.idl | 370 ++++++++++---------- 5 files changed, 317 insertions(+), 514 deletions(-) diff --git a/reactos/base/services/eventlog/eventlog.c b/reactos/base/services/eventlog/eventlog.c index 4c5cb6ca2ee..0626312b980 100644 --- a/reactos/base/services/eventlog/eventlog.c +++ b/reactos/base/services/eventlog/eventlog.c @@ -39,6 +39,7 @@ VOID CALLBACK ServiceMain(DWORD argc, LPTSTR *argv) if(!hThread) DPRINT("Can't create PortThread\n"); else CloseHandle(hThread); + #ifdef RPC_ENABLED hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) @@ -49,6 +50,7 @@ VOID CALLBACK ServiceMain(DWORD argc, LPTSTR *argv) if(!hThread) DPRINT("Can't create RpcThread\n"); else CloseHandle(hThread); + #endif } diff --git a/reactos/base/services/eventlog/eventlog.h b/reactos/base/services/eventlog/eventlog.h index 5370b41d86f..17cea0da6ef 100644 --- a/reactos/base/services/eventlog/eventlog.h +++ b/reactos/base/services/eventlog/eventlog.h @@ -28,9 +28,6 @@ typedef struct _IO_ERROR_LPC IO_ERROR_LOG_MESSAGE Message; } IO_ERROR_LPC, *PIO_ERROR_LPC; -#define LOGHANDLE unsigned int -#define PLOGHANDLE unsigned int* - #define MAJORVER 1 #define MINORVER 1 @@ -176,173 +173,6 @@ NTSTATUS ProcessPortMessage(VOID); /* rpc.c */ DWORD STDCALL RpcThreadRoutine(LPVOID lpParameter); -NTSTATUS EventLogClearW( - handle_t BindingHandle, - LOGHANDLE Handle, - wchar_t *BackupName); - -NTSTATUS EventLogBackupW( - handle_t BindingHandle, - LOGHANDLE Handle, - wchar_t *FileName); - -NTSTATUS EventLogClose( - handle_t BindingHandle, - PLOGHANDLE Handle); - -NTSTATUS EventLogUnregSrc( - handle_t BindingHandle, - PLOGHANDLE Handle); - -NTSTATUS EventLogRecordsNumber( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long *RecordsNumber); - -NTSTATUS EventLogGetOldestRec( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long *OldestRecNumber); - -NTSTATUS EventLogChangeNotify( - handle_t BindingHandle); - -NTSTATUS EventLogOpenW( - handle_t BindingHandle, - LPWSTR ServerName, - wchar_t *FileName, - wchar_t *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle); - -NTSTATUS EventLogRegSrcW( - handle_t BindingHandle, - LPWSTR ServerName, - wchar_t *LogName, - wchar_t *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle); - -NTSTATUS EventLogOpenBackupW( - handle_t BindingHandle, - LPWSTR ServerName, - wchar_t *BackupName, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle); - -NTSTATUS EventLogReadW( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Flags, - unsigned long Offset, - unsigned long BufSize, - unsigned char *Buffer, - unsigned long *BytesRead, - unsigned long *BytesNeeded); - -NTSTATUS EventLogReportEventW( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Time, - unsigned short Type, - unsigned short Category, - unsigned long ID, - unsigned short NumStrings, - unsigned long DataSize, - wchar_t *ComputerName, - unsigned char *SID, - wchar_t *Strings, - unsigned char *Data, - unsigned short Flags, - unsigned long * unknown1, - unsigned long * unknown2); - -NTSTATUS EventLogClearA( - handle_t BindingHandle, - LOGHANDLE Handle, - char *BackupName); - -NTSTATUS EventLogBackupA( - handle_t BindingHandle, - LOGHANDLE Handle, - char *BackupName); - -NTSTATUS EventLogOpenA( - handle_t BindingHandle, - LPSTR ServerName, - char *LogName, - char *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle); - -NTSTATUS EventLogRegSrcA( - handle_t BindingHandle, - LPSTR ServerName, - char *LogName, - char *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle); - -NTSTATUS EventLogOpenBackupA( - handle_t BindingHandle, - LPSTR ServerName, - char *BackupName, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle); - -NTSTATUS EventLogReadA( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Flags, - unsigned long Offset, - unsigned long BufSize, - unsigned char *Buffer, - unsigned long *BytesRead, - unsigned long *BytesNeeded); - -NTSTATUS EventLogReportEventA( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Time, - unsigned short Type, - unsigned short Category, - unsigned long ID, - unsigned short NumStrings, - unsigned long DataSize, - char *ComputerName, - unsigned char *SID, - char* Strings, - unsigned char *Data, - unsigned short Flags, - unsigned long * unknown1, - unsigned long * unknown2); - -NTSTATUS EventLogRegisterClusterSvc( - handle_t BindingHandle); - -NTSTATUS EventLogDeregisterClusterSvc( - handle_t BindingHandle); - -NTSTATUS EventLogWriteClusterEvents( - handle_t BindingHandle); - -NTSTATUS EventLogGetInfo( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long InfoLevel, - unsigned char *Buffer, - unsigned long BufSize, - unsigned long *BytesNeeded); - -NTSTATUS EventLogFlush( - handle_t BindingHandle); - #endif /* __EVENTLOG_H__ */ diff --git a/reactos/base/services/eventlog/rpc.c b/reactos/base/services/eventlog/rpc.c index 061afbc4d0a..2aca558542d 100644 --- a/reactos/base/services/eventlog/rpc.c +++ b/reactos/base/services/eventlog/rpc.c @@ -7,6 +7,7 @@ */ #include "eventlog.h" +#ifdef RPC_ENABLED DWORD STDCALL RpcThreadRoutine(LPVOID lpParameter) { @@ -41,63 +42,56 @@ DWORD STDCALL RpcThreadRoutine(LPVOID lpParameter) } /* Function 0 */ -NTSTATUS EventLogClearW( - handle_t BindingHandle, - LOGHANDLE Handle, - wchar_t *BackupName) +NTSTATUS ElfrClearELFW( + /* [in] */ LOGHANDLE Handle, + /* [in] */ PUNICODE_STRING BackupName) { - DPRINT("EventLogClearW UNIMPLEMENTED\n"); + DPRINT("UNIMPLEMENTED"); return STATUS_NOT_IMPLEMENTED; } - /* Function 1 */ -NTSTATUS EventLogBackupW( - handle_t BindingHandle, - LOGHANDLE Handle, - wchar_t *FileName) +NTSTATUS ElfrBackupELFW( + /* [in] */ LOGHANDLE Handle, + /* [in] */ PUNICODE_STRING BackupName) { - DPRINT("EventLogBackupW UNIMPLEMENTED\n"); + DPRINT("UNIMPLEMENTED"); return STATUS_NOT_IMPLEMENTED; } /* Function 2 */ -NTSTATUS EventLogClose( - handle_t BindingHandle, - PLOGHANDLE Handle) +NTSTATUS ElfrCloseEL( + /* [out][in] */ PLOGHANDLE Handle) { - DPRINT("EventLogClose UNIMPLEMENTED\n"); + DPRINT("UNIMPLEMENTED"); return STATUS_NOT_IMPLEMENTED; } /* Function 3 */ -NTSTATUS EventLogUnregSrc( - handle_t BindingHandle, - PLOGHANDLE Handle) +NTSTATUS ElfrDeregisterEventSource( + /* [out][in] */ PLOGHANDLE Handle) { - DPRINT("EventLogUnregSrc UNIMPLEMENTED\n"); + DPRINT("UNIMPLEMENTED"); return STATUS_NOT_IMPLEMENTED; } /* Function 4 */ -NTSTATUS EventLogRecordsNumber( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long *RecordsNumber) +NTSTATUS ElfrNumberOfRecords( + /* [in] */ LOGHANDLE Handle, + /* [out] */ long __RPC_FAR *NumberOfRecords) { - DPRINT("EventLogRecordsNumber UNIMPLEMENTED\n"); + DPRINT("UNIMPLEMENTED"); return STATUS_NOT_IMPLEMENTED; } /* Function 5 */ -NTSTATUS EventLogGetOldestRec( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long *OldestRecNumber) +NTSTATUS ElfrOldestRecord( + /* [in] */ LOGHANDLE LogHandle, + /* [out] */ long __RPC_FAR *OldestRecNumber) { DPRINT("EventLogGetOldestRec UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -105,8 +99,7 @@ NTSTATUS EventLogGetOldestRec( /* Function 6 */ -NTSTATUS EventLogChangeNotify( - handle_t BindingHandle) +NTSTATUS ElfrChangeNotify( void) { DPRINT("EventLogChangeNotify UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -114,14 +107,13 @@ NTSTATUS EventLogChangeNotify( /* Function 7 */ -NTSTATUS EventLogOpenW( - handle_t BindingHandle, - LPWSTR ServerName, - wchar_t *LogName, - wchar_t *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle) +NTSTATUS ElfrOpenELW( + /* [unique][in] */ LPWSTR ServerName, + /* [in] */ PUNICODE_STRING FileName, + /* [in] */ PUNICODE_STRING NullStr, + /* [in] */ long MajorVer, + /* [in] */ long MinorVer, + /* [out] */ PLOGHANDLE Handle) { DPRINT("EventLogOpenW UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -129,14 +121,13 @@ NTSTATUS EventLogOpenW( /* Function 8 */ -NTSTATUS EventLogRegSrcW( - handle_t BindingHandle, - LPWSTR ServerName, - wchar_t *LogName, - wchar_t *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle) +NTSTATUS ElfrRegisterEventSourceA( + /* [unique][in] */ LPSTR ServerName, + /* [in] */ PANSI_STRING LogName, + /* [in] */ PANSI_STRING NullStr, + /* [in] */ long MajorVer, + /* [in] */ long MinorVer, + /* [out] */ PLOGHANDLE Handle) { DPRINT("EventLogRegSrcW UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -144,13 +135,12 @@ NTSTATUS EventLogRegSrcW( /* Function 9 */ -NTSTATUS EventLogOpenBackupW( - handle_t BindingHandle, - LPWSTR ServerName, - wchar_t *BackupName, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle) +NTSTATUS ElfrOpenBELW( + /* [unique][in] */ LPWSTR ServerName, + /* [in] */ PUNICODE_STRING BackupName, + /* [in] */ long MajorVer, + /* [in] */ long MinorVer, + /* [out] */ PLOGHANDLE Handle) { DPRINT("EventLogOpenBackupW UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -158,15 +148,14 @@ NTSTATUS EventLogOpenBackupW( /* Function 10 */ -NTSTATUS EventLogReadW( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Flags, - unsigned long Offset, - unsigned long BufSize, - unsigned char *Buffer, - unsigned long *BytesRead, - unsigned long *BytesNeeded) +NTSTATUS ElfrReadELW( + /* [in] */ LOGHANDLE Handle, + /* [in] */ long Flags, + /* [in] */ long Offset, + /* [in] */ long BufSize, + /* [size_is][out] */ unsigned char __RPC_FAR *Buffer, + /* [out] */ long __RPC_FAR *BytesRead, + /* [out] */ long __RPC_FAR *BytesNeeded) { DPRINT("EventLogReadW UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -174,22 +163,21 @@ NTSTATUS EventLogReadW( /* Function 11 */ -NTSTATUS EventLogReportEventW( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Time, - unsigned short Type, - unsigned short Category, - unsigned long ID, - unsigned short NumStrings, - unsigned long DataSize, - wchar_t *ComputerName, - unsigned char *SID, - wchar_t *Strings, - unsigned char *Data, - unsigned short Flags, - unsigned long * unknown1, - unsigned long * unknown2) +NTSTATUS ElfrReportEventW( + /* [in] */ LOGHANDLE Handle, + /* [in] */ long Time, + /* [in] */ short Type, + /* [in] */ short Category, + /* [in] */ long ID, + /* [in] */ short NumStrings, + /* [in] */ long DataSize, + /* [in] */ PUNICODE_STRING ComputerName, + /* [unique][in] */ unsigned char __RPC_FAR *SID, + /* [unique][size_is][in] */ PUNICODE_STRING __RPC_FAR Strings[ ], + /* [unique][size_is][in] */ unsigned char __RPC_FAR *Data, + /* [in] */ short Flags, + /* [unique][out][in] */ long __RPC_FAR *unknown1, + /* [unique][out][in] */ long __RPC_FAR *unknown2) { DPRINT("EventLogReportEventW UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -197,10 +185,9 @@ NTSTATUS EventLogReportEventW( /* Function 12 */ -NTSTATUS EventLogClearA( - handle_t BindingHandle, - LOGHANDLE Handle, - char *BackupName) +NTSTATUS ElfrClearELFA( + /* [in] */ LOGHANDLE Handle, + /* [unique][in] */ PANSI_STRING BackupName) { DPRINT("EventLogClearA UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -208,10 +195,9 @@ NTSTATUS EventLogClearA( /* Function 13 */ -NTSTATUS EventLogBackupA( - handle_t BindingHandle, - LOGHANDLE Handle, - char *BackupName) +NTSTATUS ElfrBackupELFA( + /* [in] */ LOGHANDLE Handle, + /* [in] */ PANSI_STRING BackupName) { DPRINT("EventLogBackupA UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -219,16 +205,15 @@ NTSTATUS EventLogBackupA( /* Function 14 */ -NTSTATUS EventLogOpenA( - handle_t BindingHandle, - LPSTR ServerName, - char *LogName, - char *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle) +NTSTATUS ElfrOpenELA( + /* [unique][in] */ LPSTR ServerName, + /* [in] */ PANSI_STRING LogName, + /* [in] */ PANSI_STRING NullStr, + /* [in] */ long MajorVer, + /* [in] */ long MinorVer, + /* [out] */ PLOGHANDLE Handle) { - UNICODE_STRING logname = {0}, servername={0}; + UNICODE_STRING logname = {0}, servername={0}, StrNull = {0}; NTSTATUS status; if(LogName && !RtlCreateUnicodeStringFromAsciiz(&logname, LogName)) @@ -243,10 +228,10 @@ NTSTATUS EventLogOpenA( return STATUS_NO_MEMORY; } - status = EventLogOpenW(BindingHandle, + status = EventLogOpenW( servername.Buffer, logname.Buffer, - L"", + StrNull, MajorVer, MinorVer, Handle); @@ -259,14 +244,13 @@ NTSTATUS EventLogOpenA( /* Function 15 */ -NTSTATUS EventLogRegSrcA( - handle_t BindingHandle, - LPSTR ServerName, - char *LogName, - char *NullStr, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle) +NTSTATUS ElfrRegisterEventSourceA( + /* [unique][in] */ LPSTR ServerName, + /* [in] */ PANSI_STRING LogName, + /* [in] */ PANSI_STRING NullStr, + /* [in] */ long MajorVer, + /* [in] */ long MinorVer, + /* [out] */ PLOGHANDLE Handle) { DPRINT("EventLogRegSrcA UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -274,13 +258,12 @@ NTSTATUS EventLogRegSrcA( /* Function 16 */ -NTSTATUS EventLogOpenBackupA( - handle_t BindingHandle, - LPSTR ServerName, - char *BackupName, - unsigned long MajorVer, - unsigned long MinorVer, - PLOGHANDLE Handle) +NTSTATUS ElfrOpenBELA( + /* [unique][in] */ LPSTR ServerName, + /* [in] */ PANSI_STRING BakckupName, + /* [in] */ long MajorVer, + /* [in] */ long MinorVer, + /* [out] */ PLOGHANDLE Handle) { DPRINT("EventLogOpenBackupA UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -288,15 +271,14 @@ NTSTATUS EventLogOpenBackupA( /* Function 17 */ -NTSTATUS EventLogReadA( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Flags, - unsigned long Offset, - unsigned long BufSize, - unsigned char *Buffer, - unsigned long *BytesRead, - unsigned long *BytesNeeded) +NTSTATUS ElfrReadELA( + /* [in] */ LOGHANDLE Handle, + /* [in] */ long Flags, + /* [in] */ long Offset, + /* [in] */ long BufSize, + /* [size_is][out] */ unsigned char __RPC_FAR *Buffer, + /* [out] */ long __RPC_FAR *BytesRead, + /* [out] */ long __RPC_FAR *BytesNeeded) { DPRINT("EventLogReadA UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -304,22 +286,21 @@ NTSTATUS EventLogReadA( /* Function 18 */ -NTSTATUS EventLogReportEventA( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long Time, - unsigned short Type, - unsigned short Category, - unsigned long ID, - unsigned short NumStrings, - unsigned long DataSize, - char *ComputerName, - unsigned char *SID, - char* Strings, - unsigned char *Data, - unsigned short Flags, - unsigned long * unknown1, - unsigned long * unknown2) +NTSTATUS ElfrReportEventA( + /* [in] */ LOGHANDLE Handle, + /* [in] */ long Time, + /* [in] */ short Type, + /* [in] */ short Category, + /* [in] */ long ID, + /* [in] */ short NumStrings, + /* [in] */ long DataSize, + /* [in] */ PANSI_STRING ComputerName, + /* [unique][in] */ unsigned char __RPC_FAR *SID, + /* [unique][size_is][in] */ PANSI_STRING __RPC_FAR Strings[ ], + /* [unique][size_is][in] */ unsigned char __RPC_FAR *Data, + /* [in] */ short Flags, + /* [unique][out][in] */ long __RPC_FAR *unknown1, + /* [unique][out][in] */ long __RPC_FAR *unknown2) { DPRINT("EventLogReportEventA UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -327,8 +308,7 @@ NTSTATUS EventLogReportEventA( /* Function 19 */ -NTSTATUS EventLogRegisterClusterSvc( - handle_t BindingHandle) +NTSTATUS ElfrRegisterClusterSvc( void) { DPRINT("EventLogRegisterClusterSvc UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -336,8 +316,7 @@ NTSTATUS EventLogRegisterClusterSvc( /* Function 20 */ -NTSTATUS EventLogDeregisterClusterSvc( - handle_t BindingHandle) +NTSTATUS ElfrDeregisterClusterSvc( void) { DPRINT("EventLogDeregisterClusterSvc UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -345,8 +324,7 @@ NTSTATUS EventLogDeregisterClusterSvc( /* Function 21 */ -NTSTATUS EventLogWriteClusterEvents( - handle_t BindingHandle) +NTSTATUS ElfrWriteClusterEvents( void) { DPRINT("EventLogWriteClusterEvents UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -354,13 +332,12 @@ NTSTATUS EventLogWriteClusterEvents( /* Function 22 */ -NTSTATUS EventLogGetInfo( - handle_t BindingHandle, - LOGHANDLE Handle, - unsigned long InfoLevel, - unsigned char *Buffer, - unsigned long BufSize, - unsigned long *BytesNeeded) +NTSTATUS ElfrGetLogInformation( + /* [in] */ LOGHANDLE Handle, + /* [in] */ long InfoLevel, + /* [size_is][out] */ unsigned char __RPC_FAR *Buffer, + /* [in] */ long BufSize, + /* [out] */ long __RPC_FAR *BytesNeeded) { DPRINT("EventLogGetInfo UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; @@ -368,14 +345,16 @@ NTSTATUS EventLogGetInfo( /* Function 23 */ -NTSTATUS EventLogFlush( - handle_t BindingHandle) +NTSTATUS ElfrFlushEL( + /* [in] */ LOGHANDLE Handle) { DbgPrint("EventLogFlush UNIMPLEMENTED\n"); return STATUS_NOT_IMPLEMENTED; } - +#else +void func(handle_t h){} +#endif // RPC_ENABLED void __RPC_FAR * __RPC_USER midl_user_allocate(size_t len) { @@ -387,3 +366,5 @@ void __RPC_USER midl_user_free(void __RPC_FAR * ptr) { HeapFree(GetProcessHeap(), 0, ptr); } + + diff --git a/reactos/include/reactos/idl/eventlogrpc.acf b/reactos/include/reactos/idl/eventlogrpc.acf index 7c7d1408dc4..935f30ff944 100644 --- a/reactos/include/reactos/idl/eventlogrpc.acf +++ b/reactos/include/reactos/idl/eventlogrpc.acf @@ -1,5 +1,5 @@ [ - explicit_handle + implicit_handle(handle_t bindhandle), strict_context_handle ] interface eventlog { diff --git a/reactos/include/reactos/idl/eventlogrpc.idl b/reactos/include/reactos/idl/eventlogrpc.idl index 8a8ba0495a3..b37d31e8715 100644 --- a/reactos/include/reactos/idl/eventlogrpc.idl +++ b/reactos/include/reactos/idl/eventlogrpc.idl @@ -15,233 +15,223 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - + +#ifdef __midl + [ uuid(82273FDC-E32A-18C3-3F78-827929DC23EA), - version(0.0), - pointer_default(unique), - explicit_handle + version(0.0), + pointer_default(unique) ] interface eventlog { - /* + cpp_quote("#define RPC_ENABLED") cpp_quote("#if 0") 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; - + 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; + unsigned short Length; + unsigned short MaximumLength; + [size_is(MaximumLength), unique] char *Buffer; } ANSI_STRING, *PANSI_STRING; - */ - - #define LPWSTR wchar_t* - #define LPSTR char* - #define LOGHANDLE unsigned int - #define PLOGHANDLE unsigned int* - #define NTSTATUS long - - /* Function 0 */ - NTSTATUS EventLogClearW( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in,string] wchar_t *BackupName); + cpp_quote("#endif") - /* Function 1 */ - NTSTATUS EventLogBackupW( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in, string] wchar_t *FileName); - - /* Function 2 */ - NTSTATUS EventLogClose( - handle_t BindingHandle, - [in,out] PLOGHANDLE Handle); + typedef [context_handle] struct _LOGHANDLE { + int pos; + } *LOGHANDLE; + typedef LOGHANDLE *PLOGHANDLE; - /* Function 3 */ - NTSTATUS EventLogUnregSrc( - handle_t BindingHandle, + /* Function 0x00 */ + NTSTATUS ElfrClearELFW( + [in] LOGHANDLE Handle, + [in] PUNICODE_STRING BackupName); + + /* Function 0x01 */ + NTSTATUS ElfrBackupELFW( + [in] LOGHANDLE Handle, + [in] PUNICODE_STRING BackupName); + + /* Function 0x02 */ + NTSTATUS ElfrCloseEL( [in,out] PLOGHANDLE Handle); - /* Function 4 */ - NTSTATUS EventLogRecordsNumber( - handle_t BindingHandle, + /* Function 0x03 */ + NTSTATUS ElfrDeregisterEventSource( + [in,out] PLOGHANDLE Handle); + + /* Function 0x04 */ + NTSTATUS ElfrNumberOfRecords( [in] LOGHANDLE Handle, - [out] unsigned long *RecordsNumber); + [out] long * NumberOfRecords); - /* Function 5 */ - NTSTATUS EventLogGetOldestRec( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [out] unsigned long *OldestRecNumber); + /* Function 0x05 */ + NTSTATUS ElfrOldestRecord( + [in] LOGHANDLE LogHandle, + [out] long * OldestRecNumber); - /* Function 6 */ - NTSTATUS EventLogChangeNotify( //FIXME - handle_t BindingHandle); + /* Function 0x06 */ + NTSTATUS ElfrChangeNotify(); // FIXME - /* Function 7 */ - NTSTATUS EventLogOpenW( - handle_t BindingHandle, - [in, string] LPWSTR ServerName, - [in, string] wchar_t *FileName, - [in, string] wchar_t *NullStr, - [in] unsigned long MajorVer, - [in] unsigned long MinorVer, + /* Function 0x07 */ + NTSTATUS ElfrOpenELW( + [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,string] LPWSTR ServerName, - [in,string] wchar_t *LogName, - [in,string] wchar_t *NullStr, - [in] unsigned long MajorVer, - [in] unsigned long MinorVer, - [out] PLOGHANDLE Handle); - - /* Function 9 */ - NTSTATUS EventLogOpenBackupW( - handle_t BindingHandle, - [in,string] LPWSTR ServerName, - [in,string] wchar_t *BackupName, - [in] unsigned long MajorVer, - [in] unsigned long MinorVer, + + /* Function 0x08 */ + NTSTATUS ElfrRegisterEventSourceW( + [in, unique] LPWSTR ServerName, + [in] PUNICODE_STRING LogName, + [in] PUNICODE_STRING NullStr, + [in] long MajorVer, + [in] long MinorVer, [out] PLOGHANDLE Handle); - /* Function 10 */ - NTSTATUS EventLogReadW( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in] unsigned long Flags, - [in] unsigned long Offset, - [in] unsigned long BufSize, - [out,size_is(BufSize)] unsigned char *Buffer, - [out] unsigned long *BytesRead, - [out] unsigned long *BytesNeeded); - - /* Function 11 */ - NTSTATUS EventLogReportEventW( - handle_t BindingHandle, - [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,string] wchar_t *ComputerName, - [in] unsigned char *SID, - [in,string] wchar_t *Strings, - [in,size_is(DataSize)] unsigned char *Data, - [in] unsigned short Flags, - [out] unsigned long *unknown1, - [out] unsigned long *unknown2); - - /* Function 12 */ - NTSTATUS EventLogClearA( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in,string] char *BackupName); - - /* Function 13 */ - NTSTATUS EventLogBackupA( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in,string] char *BackupName); - - /* Function 14 */ - NTSTATUS EventLogOpenA( - handle_t BindingHandle, - [in,string] LPSTR ServerName, - [in,string] char *LogName, - [in,string] char *NullStr, - [in] unsigned long MajorVer, - [in] unsigned long MinorVer, + /* Function 0x09 */ + NTSTATUS ElfrOpenBELW( + [in, unique] LPWSTR ServerName, + [in] PUNICODE_STRING BackupName, + [in] long MajorVer, + [in] long MinorVer, [out] PLOGHANDLE Handle); - /* Function 15 */ - NTSTATUS EventLogRegSrcA( - handle_t BindingHandle, - [in,string] LPSTR ServerName, - [in,string] char *LogName, - [in,string] char *NullStr, - [in] unsigned long MajorVer, - [in] unsigned long MinorVer, + /* Function 0x0a */ + NTSTATUS ElfrReadELW( + [in] LOGHANDLE Handle, + [in] long Flags, + [in] long Offset, + [in] long BufSize, + [out,size_is(BufSize)] char * Buffer, + [out] long * BytesRead, + [out] long * BytesNeeded); + + /* Function 0x0b */ + NTSTATUS ElfrReportEventW( + [in] LOGHANDLE Handle, + [in] long Time, + [in] short Type, + [in] short Category, + [in] long ID, + [in] short NumStrings, + [in] long DataSize, + [in] PUNICODE_STRING ComputerName, + [in, unique] char *SID, + [in, size_is(NumStrings), unique] PUNICODE_STRING Strings[*], + [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( + [in] LOGHANDLE Handle, + [in,unique] PANSI_STRING BackupName); + + /* Function 0x0d */ + NTSTATUS ElfrBackupELFA( + [in] LOGHANDLE Handle, + [in] PANSI_STRING BackupName); + + /* Function 0x0e */ + NTSTATUS ElfrOpenELA( + [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( - handle_t BindingHandle, - [in,string] LPSTR ServerName, - [in,string] char *BackupName, - [in] unsigned long MajorVer, - [in] unsigned long MinorVer, + /* Function 0x0f */ + NTSTATUS ElfrRegisterEventSourceA( + [in, unique] LPSTR ServerName, + [in] PANSI_STRING LogName, + [in] PANSI_STRING NullStr, + [in] long MajorVer, + [in] long MinorVer, [out] PLOGHANDLE Handle); - /* Function 17 */ - NTSTATUS EventLogReadA( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in] unsigned long Flags, - [in] unsigned long Offset, - [in] unsigned long BufSize, - [out,size_is(BufSize)] unsigned char *Buffer, - [out] unsigned long *BytesRead, - [out] unsigned long *BytesNeeded); + /* Function 0x10 */ + NTSTATUS ElfrOpenBELA( + [in, unique] LPSTR ServerName, + [in] PANSI_STRING BakckupName, + [in] long MajorVer, + [in] long MinorVer, + [out] PLOGHANDLE Handle); - /* Function 18 */ - NTSTATUS EventLogReportEventA( - handle_t BindingHandle, + /* Function 0x11 */ + NTSTATUS ElfrReadELA( [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,string] char *ComputerName, - [in] unsigned char *SID, - [in,string] char* Strings, - [in,size_is(DataSize)] unsigned char *Data, - [in] unsigned short Flags, - [out] unsigned long * unknown1, - [out] unsigned long * unknown2); - - /* Function 19 */ - NTSTATUS EventLogRegisterClusterSvc( //FIXME - handle_t BindingHandle); + [in] long Flags, + [in] long Offset, + [in] long BufSize, + [out,size_is(BufSize)] unsigned char * Buffer, + [out] long *BytesRead, + [out] long *BytesNeeded); + + /* Function 0x12 */ + NTSTATUS ElfrReportEventA( + [in] LOGHANDLE Handle, + [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, + [in, size_is(NumStrings), unique] PANSI_STRING Strings[*], + [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( + [in] LOGHANDLE Handle, + [in] long InfoLevel, + [out, size_is(BufSize)] char *Buffer, + [in] long BufSize, + [out] long *BytesNeeded); - /* Function 20 */ - NTSTATUS EventLogDeregisterClusterSvc( //FIXME - handle_t BindingHandle); + /* Function 0x17 */ + NTSTATUS ElfrFlushEL( + [in] LOGHANDLE Handle); - /* Function 21 */ - NTSTATUS EventLogWriteClusterEvents( //FIXME - handle_t BindingHandle); - - /* Function 22 */ - NTSTATUS EventLogGetInfo( - handle_t BindingHandle, - [in] LOGHANDLE Handle, - [in] unsigned long InfoLevel, - [out,size_is(BufSize)] unsigned char *Buffer, - [in] unsigned long BufSize, - [out] unsigned long *BytesNeeded); - - /* Function 23 */ - NTSTATUS EventLogFlush( //FIXME - handle_t BindingHandle); } +#else + + +[ + uuid(82273FDC-E32A-18C3-3F78-827929DC23EA), + version(0.0), + explicit_handle +] + +interface eventlog +{ + void func(handle_t h); +} + +#endif // __midl