[resend]: [dlls/dbgeng]: add initial stub dll implementation (attempt #5)
Volodymyr Shcherbyna
volodymyr at shcherbyna.com
Sun Nov 21 14:43:26 CST 2010
Added valid (C) into source file.
-------------- next part --------------
From ab0eaa04927f3954c929da0f99c1834d9b207075 Mon Sep 17 00:00:00 2001
From: Volodymyr M. Shcherbyna <volodymyr at shcherbyna.com>
Date: Sun, 21 Nov 2010 21:40:04 +0100
Subject: Implementing stub dll dbgeng.dll
Reply-To: wine-devel <wine-devel at winehq.org>
---
dlls/dbgeng/Makefile.in | 7 +++
dlls/dbgeng/dbgeng.c | 135 +++++++++++++++++++++++++++++++++++++++++++++++
dlls/dbgeng/dbgeng.spec | 3 +
3 files changed, 145 insertions(+), 0 deletions(-)
create mode 100644 dlls/dbgeng/Makefile.in
create mode 100644 dlls/dbgeng/dbgeng.c
create mode 100644 dlls/dbgeng/dbgeng.spec
diff --git a/dlls/dbgeng/Makefile.in b/dlls/dbgeng/Makefile.in
new file mode 100644
index 0000000..2836a25
--- /dev/null
+++ b/dlls/dbgeng/Makefile.in
@@ -0,0 +1,7 @@
+MODULE = dbgeng.dll
+IMPORTLIB = dbgeng
+IMPORTS = kernel
+
+C_SRCS = dbgeng.c
+
+ at MAKE_DLL_RULES@
diff --git a/dlls/dbgeng/dbgeng.c b/dlls/dbgeng/dbgeng.c
new file mode 100644
index 0000000..c4fef40
--- /dev/null
+++ b/dlls/dbgeng/dbgeng.c
@@ -0,0 +1,135 @@
+/*
+ * Support for Microsoft Debugging Extension API
+ *
+ * Copyright (C) 2010, Volodymyr Shcherbyna.
+ *
+ * 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
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "winternl.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(dbgeng);
+
+/************************************************************
+* DebugExtensionInitialize (DBGENG.@)
+*
+* Initializing Debug Engine
+*
+* PARAMS
+* pVersion [O] Recieving the version of extension
+* pFlags [O] Reserved
+*
+* RETURNS
+* Success: S_OK
+* Failure: Anything other than S_OK
+*
+* BUGS
+* Unimplemented
+*/
+HRESULT WINAPI DebugExtensionInitialize(ULONG * pVersion, ULONG * pFlags)
+{
+ FIXME("(%p,%p): stub\n", pVersion, pFlags);
+
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+ return E_NOTIMPL;
+}
+
+/************************************************************
+* DebugCreate (DBGENG.@)
+*
+* Creating Debug Engine client object
+*
+* PARAMS
+* InterfaceId [I] Interface Id of debugger client
+* pInterface [O] Pointer to interface as requested via InterfaceId
+*
+* RETURNS
+* Success: S_OK
+* Failure: Anything other than S_OK
+*
+* BUGS
+* Unimplemented
+*/
+HRESULT WINAPI DebugCreate(REFIID InterfaceId, PVOID * pInterface)
+{
+ FIXME("(%p,%p): stub\n", InterfaceId, pInterface);
+
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+ return E_NOTIMPL;
+}
+
+/************************************************************
+* DebugConnect (DBGENG.@)
+*
+* Creating Debug Engine client object and connecting it to remote host
+*
+* PARAMS
+* RemoteOptions [I] Options which define how debugger engine connects to remote host
+* InterfaceId [I] Interface Id of debugger client
+* pInterface [O] Pointer to interface as requested via InterfaceId
+*
+* RETURNS
+* Success: S_OK
+* Failure: Anything other than S_OK
+*
+* BUGS
+* Unimplemented
+*/
+HRESULT DebugConnect(PCSTR RemoteOptions, REFIID InterfaceId, PVOID * pInterface)
+{
+ FIXME("(%p,%p,%p): stub\n", RemoteOptions, InterfaceId, pInterface);
+
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+ return E_NOTIMPL;
+}
+
+/************************************************************
+* DllMain (DBGENG.@)
+*
+* Entry Point of Library
+*
+* PARAMS
+* hInstance [I] A handle to the DLL module
+* fdwReason [I] The reason code that indicates why the DLL entry-point function is being called
+* lpvReserved [I] Extended information
+*
+* RETURNS
+* Success: TRUE (when fdwReason is DLL_PROCESS_ATTACH)
+* Failure: FALSE (when fdwReason is DLL_PROCESS_ATTACH)
+*
+* BUGS
+* Unimplemented
+*/
+BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReason, LPVOID lpvReserved)
+{
+ BOOL bRetVal = FALSE;
+
+ switch (fdwReason)
+ {
+ case DLL_PROCESS_ATTACH:
+ bRetVal = DisableThreadLibraryCalls(hInstance);
+ break;
+ }
+
+ return bRetVal;
+}
diff --git a/dlls/dbgeng/dbgeng.spec b/dlls/dbgeng/dbgeng.spec
new file mode 100644
index 0000000..b2ba6f3
--- /dev/null
+++ b/dlls/dbgeng/dbgeng.spec
@@ -0,0 +1,3 @@
+@ stdcall DebugExtensionInitialize(ptr ptr)
+@ stdcall DebugCreate(ptr ptr)
+@ stdcall DebugConnect(ptr ptr ptr)
--
1.7.2.3
More information about the wine-patches
mailing list