Author: hbelusca Date: Fri Aug 12 17:22:15 2016 New Revision: 72211 URL: http://svn.reactos.org/svn/reactos?rev=72211&view=rev Log: [SDK:IDL]: Fix the event log RPC IDL file definitions: - ElfrChangeNotify takes a IELF_HANDLE handle as its first parameter, not a pointer to it. - Since we already use NT-like types (especially for USHORT variables), do the same for the other parameters (DWORD -> ULONG), and also use the Pxxx for pointers to xxx. - Use Windows 2003 maximum size (0x3FFFF) for the event data to be written, instead of the Vista+ limit that is much smaller (0xF000). See also revisions r72207 and r72209. CORE-11839 #resolve
Modified: trunk/reactos/sdk/include/reactos/idl/eventlogrpc.idl Modified: trunk/reactos/sdk/include/reactos/idl/eventlogrpc.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/reactos/idl/eventlogrpc.idl?rev=72211&r1=72210&r2=72211&view=diff ============================================================================== --- trunk/reactos/sdk/include/reactos/idl/eventlogrpc.idl [iso-8859-1] (original) +++ trunk/reactos/sdk/include/reactos/idl/eventlogrpc.idl [iso-8859-1] Fri Aug 12 17:22:15 2016 @@ -8,7 +8,9 @@ typedef long NTSTATUS; cpp_quote("#endif") -#define MAX_BATCH_BUFF 0x0007FFFF +#define MAX_STRINGS 0x00000100 +#define MAX_SINGLE_EVENT 0x0003FFFF // On Vista+ this is reduced to 0x0000F000 +#define MAX_BATCH_BUFF 0x0007FFFF typedef [range(0, MAX_BATCH_BUFF)] unsigned long RULONG; typedef struct _RPC_STRING { @@ -23,8 +25,8 @@ typedef [handle, unique] LPSTR EVENTLOG_HANDLE_A; typedef struct _RPC_CLIENT_ID { - DWORD UniqueProcess; - DWORD UniqueThread; + ULONG UniqueProcess; + ULONG UniqueThread; } RPC_CLIENT_ID, *PRPC_CLIENT_ID; [ @@ -51,80 +53,80 @@ /* Function 2 */ NTSTATUS ElfrCloseEL( - [in, out] IELF_HANDLE *LogHandle); + [in, out] PIELF_HANDLE LogHandle); /* Function 3 */ NTSTATUS ElfrDeregisterEventSource( - [in, out] IELF_HANDLE *LogHandle); + [in, out] PIELF_HANDLE LogHandle); /* Function 4 */ NTSTATUS ElfrNumberOfRecords( [in] IELF_HANDLE LogHandle, - [out] DWORD *NumberOfRecords); + [out] PULONG NumberOfRecords); /* Function 5 */ NTSTATUS ElfrOldestRecord( [in] IELF_HANDLE LogHandle, - [out] DWORD *OldestRecordNumber); + [out] PULONG OldestRecordNumber); /* Function 6 */ NTSTATUS ElfrChangeNotify( - [in] IELF_HANDLE *LogHandle, + [in] IELF_HANDLE LogHandle, [in] RPC_CLIENT_ID ClientId, - [in] DWORD Event); + [in] ULONG Event); /* Function 7 */ NTSTATUS ElfrOpenELW( [in, unique] EVENTLOG_HANDLE_W UNCServerName, /* FIXME */ [in] PRPC_UNICODE_STRING ModuleName, [in] PRPC_UNICODE_STRING RegModuleName, - [in] DWORD MajorVersion, - [in] DWORD MinorVersion, - [out] IELF_HANDLE* LogHandle); + [in] ULONG MajorVersion, + [in] ULONG MinorVersion, + [out] PIELF_HANDLE LogHandle); /* Function 8 */ NTSTATUS ElfrRegisterEventSourceW( [in, unique] EVENTLOG_HANDLE_W UNCServerName, /* FIXME */ [in] PRPC_UNICODE_STRING ModuleName, [in] PRPC_UNICODE_STRING RegModuleName, - [in] DWORD MajorVersion, - [in] DWORD MinorVersion, - [out] IELF_HANDLE* LogHandle); + [in] ULONG MajorVersion, + [in] ULONG MinorVersion, + [out] PIELF_HANDLE LogHandle); /* Function 9 */ NTSTATUS ElfrOpenBELW( [in, unique] EVENTLOG_HANDLE_W UNCServerName, /* FIXME */ [in] PRPC_UNICODE_STRING BackupFileName, - [in] DWORD MajorVersion, - [in] DWORD MinorVersion, - [out] IELF_HANDLE* LogHandle); + [in] ULONG MajorVersion, + [in] ULONG MinorVersion, + [out] PIELF_HANDLE LogHandle); /* Function 10 */ NTSTATUS ElfrReadELW( [in] IELF_HANDLE LogHandle, - [in] DWORD ReadFlags, - [in] DWORD RecordOffset, + [in] ULONG ReadFlags, + [in] ULONG RecordOffset, [in] RULONG NumberOfBytesToRead, - [out, size_is(NumberOfBytesToRead)] BYTE *Buffer, - [out] DWORD *NumberOfBytesRead, - [out] DWORD *MinNumberOfBytesNeeded); + [out, size_is(NumberOfBytesToRead)] PBYTE Buffer, + [out] PULONG NumberOfBytesRead, + [out] PULONG MinNumberOfBytesNeeded); /* Function 11 */ NTSTATUS ElfrReportEventW( [in] IELF_HANDLE LogHandle, - [in] DWORD Time, + [in] ULONG Time, [in] USHORT EventType, [in] USHORT EventCategory, - [in] DWORD EventID, - [in/*, max_is(256)*/] USHORT NumStrings, - [in, range(0, 61440)] DWORD DataSize, + [in] ULONG EventID, + [in, range(0, MAX_STRINGS)] USHORT NumStrings, + [in, range(0, MAX_SINGLE_EVENT)] ULONG DataSize, [in] PRPC_UNICODE_STRING ComputerName, [in, unique] PRPC_SID UserSID, [in, size_is(NumStrings), unique] PRPC_UNICODE_STRING Strings[*], - [in, size_is(DataSize), unique] BYTE *Data, + [in, size_is(DataSize), unique] PBYTE Data, [in] USHORT Flags, - [in, out, unique] DWORD *RecordNumber, - [in, out, unique] DWORD *TimeWritten); + [in, out, unique] PULONG RecordNumber, + [in, out, unique] PULONG TimeWritten); /* Function 12 */ NTSTATUS ElfrClearELFA( @@ -141,53 +143,53 @@ [in, unique] EVENTLOG_HANDLE_A UNCServerName, /* FIXME */ [in] PRPC_STRING ModuleName, [in] PRPC_STRING RegModuleName, - [in] DWORD MajorVersion, - [in] DWORD MinorVersion, - [out] IELF_HANDLE* LogHandle); + [in] ULONG MajorVersion, + [in] ULONG MinorVersion, + [out] PIELF_HANDLE LogHandle); /* Function 15 */ NTSTATUS ElfrRegisterEventSourceA( [in, unique] EVENTLOG_HANDLE_A UNCServerName, /* FIXME */ [in] PRPC_STRING ModuleName, [in] PRPC_STRING RegModuleName, - [in] DWORD MajorVersion, - [in] DWORD MinorVersion, - [out] IELF_HANDLE* LogHandle); + [in] ULONG MajorVersion, + [in] ULONG MinorVersion, + [out] PIELF_HANDLE LogHandle); /* Function 16 */ NTSTATUS ElfrOpenBELA( [in, unique] EVENTLOG_HANDLE_A UNCServerName, /* FIXME */ [in] PRPC_STRING BackupFileName, - [in] DWORD MajorVersion, - [in] DWORD MinorVersion, - [out] IELF_HANDLE* LogHandle); + [in] ULONG MajorVersion, + [in] ULONG MinorVersion, + [out] PIELF_HANDLE LogHandle); /* Function 17 */ NTSTATUS ElfrReadELA( [in] IELF_HANDLE LogHandle, - [in] DWORD ReadFlags, - [in] DWORD RecordOffset, + [in] ULONG ReadFlags, + [in] ULONG RecordOffset, [in] RULONG NumberOfBytesToRead, - [out, size_is(NumberOfBytesToRead)] BYTE *Buffer, - [out] DWORD *NumberOfBytesRead, - [out] DWORD *MinNumberOfBytesNeeded); + [out, size_is(NumberOfBytesToRead)] PBYTE Buffer, + [out] PULONG NumberOfBytesRead, + [out] PULONG MinNumberOfBytesNeeded); /* Function 18 */ NTSTATUS ElfrReportEventA( [in] IELF_HANDLE LogHandle, - [in] DWORD Time, + [in] ULONG Time, [in] USHORT EventType, [in] USHORT EventCategory, - [in] DWORD EventID, - [in/*, max_is(256)*/] USHORT NumStrings, - [in, range(0, 61440)] DWORD DataSize, + [in] ULONG EventID, + [in, range(0, MAX_STRINGS)] USHORT NumStrings, + [in, range(0, MAX_SINGLE_EVENT)] ULONG DataSize, [in] PRPC_STRING ComputerName, [in, unique] PRPC_SID UserSID, [in, size_is(NumStrings), unique] PRPC_STRING Strings[*], - [in, size_is(DataSize), unique] BYTE *Data, + [in, size_is(DataSize), unique] PBYTE Data, [in] USHORT Flags, - [in, out, unique] DWORD *RecordNumber, - [in, out, unique] DWORD *TimeWritten); + [in, out, unique] PULONG RecordNumber, + [in, out, unique] PULONG TimeWritten); /* Function 19 */ NTSTATUS ElfrRegisterClusterSvc( @@ -204,10 +206,10 @@ /* Function 22 */ NTSTATUS ElfrGetLogInformation( [in] IELF_HANDLE LogHandle, - [in] DWORD InfoLevel, - [out, size_is(cbBufSize)] BYTE *Buffer, - [in, range(0, 1024)] DWORD cbBufSize, - [out] DWORD *pcbBytesNeeded); + [in] ULONG InfoLevel, + [out, size_is(cbBufSize)] PBYTE Buffer, + [in, range(0, 1024)] ULONG cbBufSize, + [out] PULONG pcbBytesNeeded); /* Function 23 */ NTSTATUS ElfrFlushEL( @@ -216,18 +218,18 @@ /* Function 24 */ NTSTATUS ElfrReportEventAndSourceW( [in] IELF_HANDLE LogHandle, - [in] DWORD Time, + [in] ULONG Time, [in] USHORT EventType, [in] USHORT EventCategory, [in] ULONG EventID, [in] PRPC_UNICODE_STRING SourceName, - [in/*, max_is(256)*/] USHORT NumStrings, - [in, range(0, 61440)] DWORD DataSize, + [in, range(0, MAX_STRINGS)] USHORT NumStrings, + [in, range(0, MAX_SINGLE_EVENT)] ULONG DataSize, [in] PRPC_UNICODE_STRING ComputerName, [in, unique] PRPC_SID UserSID, [in, size_is(NumStrings), unique] PRPC_UNICODE_STRING Strings[*], - [in, size_is(DataSize), unique] BYTE *Data, + [in, size_is(DataSize), unique] PBYTE Data, [in] USHORT Flags, - [in, out, unique] DWORD *RecordNumber, - [in, out, unique] DWORD *TimeWritten); + [in, out, unique] PULONG RecordNumber, + [in, out, unique] PULONG TimeWritten); }