>From 65e8fad6231374b8bcffdd74a6f6ab84affa7e39 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 6 Oct 2011 21:45:02 +1100
Subject: [PATCH] Add mmcndmgr dll
To: wine-patches <wine-patches@winehq.org>

---
 dlls/mmcndmgr/Makefile.in   |   10 +++++
 dlls/mmcndmgr/mmcndmgr.c    |   80 +++++++++++++++++++++++++++++++++++++++++++
 dlls/mmcndmgr/mmcndmgr.idl  |   21 +++++++++++
 dlls/mmcndmgr/mmcndmgr.spec |    7 ++++
 4 files changed, 118 insertions(+), 0 deletions(-)
 create mode 100644 dlls/mmcndmgr/Makefile.in
 create mode 100644 dlls/mmcndmgr/mmcndmgr.c
 create mode 100644 dlls/mmcndmgr/mmcndmgr.idl
 create mode 100644 dlls/mmcndmgr/mmcndmgr.spec

diff --git a/dlls/mmcndmgr/Makefile.in b/dlls/mmcndmgr/Makefile.in
new file mode 100644
index 0000000..5a84ada
--- /dev/null
+++ b/dlls/mmcndmgr/Makefile.in
@@ -0,0 +1,10 @@
+EXTRADEFS = 
+MODULE    = mmcndmgr.dll
+IMPORTS   = oleaut32 ole32 uuid user32
+
+C_SRCS = \
+	mmcndmgr.c
+
+IDL_TLB_SRCS = mmcndmgr.idl
+
+@MAKE_DLL_RULES@
diff --git a/dlls/mmcndmgr/mmcndmgr.c b/dlls/mmcndmgr/mmcndmgr.c
new file mode 100644
index 0000000..e8d98df
--- /dev/null
+++ b/dlls/mmcndmgr/mmcndmgr.c
@@ -0,0 +1,80 @@
+/*
+ *
+ * Copyright 2011 Alistair Leslie-Hughes
+ *
+ * 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>
+
+#define COBJMACROS
+#include "windef.h"
+#include "winbase.h"
+#include "winuser.h"
+#include "ole2.h"
+#include "rpcproxy.h"
+
+#include "wine/unicode.h"
+#include "wine/debug.h"
+#include "wine/library.h"
+
+#include <mmc.h>
+
+WINE_DEFAULT_DEBUG_CHANNEL(mmc);
+
+HINSTANCE MMC_hInstance = NULL;
+
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
+{
+    FIXME("(%s, %s, %p): stub\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
+    if(!ppv)
+        return E_INVALIDARG;
+
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI DllRegisterServer(void)
+{
+    return __wine_register_resources( MMC_hInstance );
+}
+
+HRESULT WINAPI DllUnregisterServer(void)
+{
+    return __wine_unregister_resources( MMC_hInstance );
+}
+
+HRESULT WINAPI DllCanUnloadNow(VOID)
+{
+    return S_FALSE;
+}
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
+
+    MMC_hInstance = hinstDLL;
+
+    switch (fdwReason)
+    {
+    case DLL_WINE_PREATTACH:
+        return FALSE;  /* prefer native version */
+    case DLL_PROCESS_ATTACH:
+        break;
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+
diff --git a/dlls/mmcndmgr/mmcndmgr.idl b/dlls/mmcndmgr/mmcndmgr.idl
new file mode 100644
index 0000000..2414a26
--- /dev/null
+++ b/dlls/mmcndmgr/mmcndmgr.idl
@@ -0,0 +1,21 @@
+/*
+ *
+ * Copyright 2011 Alistair Leslie-Hughes
+ *
+ * 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 "mmc.idl"
+
+
diff --git a/dlls/mmcndmgr/mmcndmgr.spec b/dlls/mmcndmgr/mmcndmgr.spec
new file mode 100644
index 0000000..dfff992
--- /dev/null
+++ b/dlls/mmcndmgr/mmcndmgr.spec
@@ -0,0 +1,7 @@
+@ stub CreateExecutivePlatform
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
+@ stub -arch=win32 _GetAllocCounters@0
+@ stub -arch=win64 GetAllocCounters
-- 
1.7.5.4

