[1/2] wevtapi: Add stub for EvtOpenChannelConfig
André Hentschel
nerv at dawncrow.de
Sun Mar 18 13:20:08 CDT 2012
main fix for http://bugs.winehq.org/show_bug.cgi?id=30072
---
dlls/wevtapi/main.c | 8 +++
dlls/wevtapi/wevtapi.spec | 2 +-
include/Makefile.in | 1 +
include/winevt.h | 132 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 142 insertions(+), 1 deletions(-)
create mode 100644 include/winevt.h
diff --git a/dlls/wevtapi/main.c b/dlls/wevtapi/main.c
index 583ddba..a39c7c9 100644
--- a/dlls/wevtapi/main.c
+++ b/dlls/wevtapi/main.c
@@ -1,5 +1,6 @@
/*
* Copyright 2012 Austin English
+ * Copyright 2012 André Hentschel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,6 +23,7 @@
#include "windef.h"
#include "winbase.h"
+#include "winevt.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wevtapi);
@@ -43,3 +45,9 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
return TRUE;
}
+
+EVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath, DWORD Flags)
+{
+ FIXME("(%p %s %u) stub\n", Session, debugstr_w(ChannelPath), Flags);
+ return NULL;
+}
diff --git a/dlls/wevtapi/wevtapi.spec b/dlls/wevtapi/wevtapi.spec
index f6a5786..adc3706 100644
--- a/dlls/wevtapi/wevtapi.spec
+++ b/dlls/wevtapi/wevtapi.spec
@@ -29,7 +29,7 @@
@ stub EvtNextChannelPath
@ stub EvtNextEventMetadata
@ stub EvtNextPublisherId
-@ stub EvtOpenChannelConfig
+@ stdcall EvtOpenChannelConfig(ptr wstr long)
@ stub EvtOpenChannelEnum
@ stub EvtOpenEventMetadataEnum
@ stub EvtOpenLog
diff --git a/include/Makefile.in b/include/Makefile.in
index fa6f837..a83e56d 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -539,6 +539,7 @@ SRCDIR_INCLUDES = \
wine/library.h \
wine/unicode.h \
winerror.h \
+ winevt.h \
wingdi.h \
winhttp.h \
wininet.h \
diff --git a/include/winevt.h b/include/winevt.h
new file mode 100644
index 0000000..53ffe44
--- /dev/null
+++ b/include/winevt.h
@@ -0,0 +1,132 @@
+/* Definitions for the Windows Event Log (wevtapi.dll)
+ *
+ * Copyright 2012 André Hentschel
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_WINEVT_H
+#define __WINE_WINEVT_H
+
+#include <wtypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* defined(__cplusplus) */
+
+typedef HANDLE EVT_HANDLE, *PEVT_HANDLE;
+
+typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID {
+ EvtChannelConfigEnabled = 0,
+ EvtChannelConfigIsolation,
+ EvtChannelConfigType,
+ EvtChannelConfigOwningPublisher,
+ EvtChannelConfigClassicEventlog,
+ EvtChannelConfigAccess,
+ EvtChannelLoggingConfigRetention,
+ EvtChannelLoggingConfigAutoBackup,
+ EvtChannelLoggingConfigMaxSize,
+ EvtChannelLoggingConfigLogFilePath,
+ EvtChannelPublishingConfigLevel,
+ EvtChannelPublishingConfigKeywords,
+ EvtChannelPublishingConfigControlGuid,
+ EvtChannelPublishingConfigBufferSize,
+ EvtChannelPublishingConfigMinBuffers,
+ EvtChannelPublishingConfigMaxBuffers,
+ EvtChannelPublishingConfigLatency,
+ EvtChannelPublishingConfigClockType,
+ EvtChannelPublishingConfigSidType,
+ EvtChannelPublisherList,
+ EvtChannelPublishingConfigFileMax,
+ EvtChannelConfigPropertyIdEND
+} EVT_CHANNEL_CONFIG_PROPERTY_ID;
+
+typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION {
+ EvtSubscribeActionError = 0,
+ EvtSubscribeActionDeliver
+} EVT_SUBSCRIBE_NOTIFY_ACTION;
+
+typedef struct _EVT_VARIANT {
+ union {
+ BOOL BooleanVal;
+ INT8 SByteVal;
+ INT16 Int16Val;
+ INT32 Int32Val;
+ INT64 Int64Val;
+ UINT8 ByteVal;
+ UINT16 UInt16Val;
+ UINT32 UInt32Val;
+ UINT64 UInt64Val;
+ FLOAT SingleVal;
+ DOUBLE DoubleVal;
+ ULONGLONG FileTimeVal;
+ SYSTEMTIME* SysTimeVal;
+ GUID* GuidVal;
+ LPCWSTR StringVal;
+ LPCSTR AnsiStringVal;
+ PBYTE BinaryVal;
+ PSID SidVal;
+ SIZE_T SizeTVal;
+
+ BOOL* BooleanArr;
+ INT8* SByteArr;
+ INT16* Int16Arr;
+ INT32* Int32Arr;
+ INT64* Int64Arr;
+ UINT8* ByteArr;
+ UINT16* UInt16Arr;
+ UINT32* UInt32Arr;
+ UINT64* UInt64Arr;
+ FLOAT* SingleArr;
+ DOUBLE* DoubleArr;
+ FILETIME* FileTimeArr;
+ SYSTEMTIME* SysTimeArr;
+ GUID* GuidArr;
+ LPWSTR* StringArr;
+ LPSTR* AnsiStringArr;
+ PSID* SidArr;
+ SIZE_T* SizeTArr;
+
+ EVT_HANDLE EvtHandleVal;
+ LPCWSTR XmlVal;
+ LPCWSTR* XmlValArr;
+ } DUMMYUNIONNAME;
+
+ DWORD Count;
+ DWORD Type;
+} EVT_VARIANT, *PEVT_VARIANT;
+
+typedef DWORD (WINAPI *EVT_SUBSCRIBE_CALLBACK)(EVT_SUBSCRIBE_NOTIFY_ACTION Action,
+ PVOID UserContext, EVT_HANDLE Event);
+
+BOOL WINAPI EvtGetChannelConfigProperty(EVT_HANDLE ChannelConfig,
+ EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
+ DWORD Flags, DWORD PropertyValueBufferSize,
+ PEVT_VARIANT PropertyValueBuffer,
+ PDWORD PropertyValueBufferUsed);
+BOOL WINAPI EvtSetChannelConfigProperty(EVT_HANDLE ChannelConfig,
+ EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
+ DWORD Flags, PEVT_VARIANT PropertyValue);
+EVT_HANDLE WINAPI EvtSubscribe(EVT_HANDLE Session, HANDLE SignalEvent, LPCWSTR ChannelPath,
+ LPCWSTR Query, EVT_HANDLE Bookmark, PVOID context,
+ EVT_SUBSCRIBE_CALLBACK Callback, DWORD Flags);
+EVT_HANDLE WINAPI EvtOpenChannelConfig(EVT_HANDLE Session, LPCWSTR ChannelPath, DWORD Flags);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif /* defined(__cplusplus) */
+
+#endif /* __WINE_WINEVT_H */
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list