📄 eventlogrpc.idl
字号:
/*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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)
#ifndef __midl
,explicit_handle
#endif
]
interface eventlog
{
cpp_quote("#if 0")
#ifdef __midl
typedef [handle, unique] wchar_t *LPWSTR;
typedef [handle, unique] char *LPSTR;
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/2), unique] wchar_t *Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
typedef struct _ANSI_STRING {
unsigned short Length;
unsigned short MaximumLength;
[size_is(MaximumLength), unique] char *Buffer;
} ANSI_STRING, *PANSI_STRING;
#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] PUNICODE_STRING BackupName);
/* Function 0x01 */
NTSTATUS ElfrBackupELFW(
#ifndef __midl
handle_t BindingHandle,
#endif
[in] LOGHANDLE Handle,
[in] PUNICODE_STRING BackupName);
/* Function 0x02 */
NTSTATUS ElfrCloseEL(
#ifndef __midl
handle_t BindingHandle,
#endif
[in,out] PLOGHANDLE Handle);
/* Function 0x03 */
NTSTATUS ElfrDeregisterEventSource(
#ifndef __midl
handle_t BindingHandle,
#endif
[in,out] PLOGHANDLE Handle);
/* Function 0x04 */
NTSTATUS ElfrNumberOfRecords(
#ifndef __midl
handle_t BindingHandle,
#endif
[in] LOGHANDLE Handle,
[out] long *NumberOfRecords);
/* Function 0x05 */
NTSTATUS ElfrOldestRecord(
#ifndef __midl
handle_t BindingHandle,
#endif
[in] LOGHANDLE LogHandle,
[out] long *OldestRecNumber);
/* Function 0x06 */
//NTSTATUS ElfrChangeNotify(); // FIXME
/* Function 0x07 */
NTSTATUS ElfrOpenELW(
#ifndef __midl
handle_t BindingHandle,
#endif
[in, unique] LPWSTR ServerName,
[in] PUNICODE_STRING FileName,
[in] PUNICODE_STRING NullStr,
[in] long MajorVer,
[in] long MinorVer,
[out] PLOGHANDLE Handle );
/* 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 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 0x0a */
NTSTATUS ElfrReadELW(
#ifndef __midl
handle_t BindingHandle,
#endif
[in] LOGHANDLE Handle,
[in] long Flags,
[in] long Offset,
[in] long BufSize,
[out,size_is(BufSize)] unsigned char *Buffer,
[out] long *BytesRead,
[out] long *BytesNeeded);
/* Function 0x0b */
NTSTATUS ElfrReportEventW(
#ifndef __midl
handle_t BindingHandle,
#endif
[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] 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,unique] PANSI_STRING BackupName);
/* Function 0x0d */
NTSTATUS ElfrBackupELFA(
#ifndef __midl
handle_t BindingHandle,
#endif
[in] LOGHANDLE Handle,
[in] PANSI_STRING BackupName);
/* Function 0x0e */
NTSTATUS ElfrOpenELA(
#ifndef __midl
handle_t BindingHandle,
#endif
[in, unique] LPSTR ServerName,
[in] PANSI_STRING LogName,
[in] PANSI_STRING NullStr,
[in] long MajorVer,
[in] long MinorVer,
[out] PLOGHANDLE Handle);
/* Function 0x0f */
NTSTATUS ElfrRegisterEventSourceA(
#ifndef __midl
handle_t BindingHandle,
#endif
[in, unique] LPSTR ServerName,
[in] PANSI_STRING LogName,
[in] PANSI_STRING NullStr,
[in] long MajorVer,
[in] long MinorVer,
[out] PLOGHANDLE Handle);
/* Function 0x10 */
NTSTATUS ElfrOpenBELA(
#ifndef __midl
handle_t BindingHandle,
#endif
[in, unique] LPSTR ServerName,
[in] PANSI_STRING BakckupName,
[in] long MajorVer,
[in] long MinorVer,
[out] PLOGHANDLE Handle);
/* Function 0x11 */
NTSTATUS ElfrReadELA(
#ifndef __midl
handle_t BindingHandle,
#endif
[in] LOGHANDLE Handle,
[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(
#ifndef __midl
handle_t BindingHandle,
#endif
[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,
#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] 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);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -