diff --git a/configure b/configure index 3cf9675d7d5..7325264e829 100755 --- a/configure +++ b/configure @@ -14878,6 +14878,7 @@ wine_fn_config_dll mciwave enable_mciwave wine_fn_config_dll midimap enable_midimap wine_fn_config_dll mlang enable_mlang implib wine_fn_config_test dlls/mlang/tests mlang_test +wine_fn_config_dll mmcndmgr enable_mmcndmgr wine_fn_config_dll mmdevapi enable_mmdevapi wine_fn_config_test dlls/mmdevapi/tests mmdevapi_test wine_fn_config_dll mmdevldr.vxd enable_win16 diff --git a/configure.ac b/configure.ac index 5de420b9462..5a9fd2ba1d4 100644 --- a/configure.ac +++ b/configure.ac @@ -2581,6 +2581,7 @@ WINE_CONFIG_DLL(mciwave) WINE_CONFIG_DLL(midimap) WINE_CONFIG_DLL(mlang,,[implib]) WINE_CONFIG_TEST(dlls/mlang/tests) +WINE_CONFIG_DLL(mmcndmgr) WINE_CONFIG_DLL(mmdevapi) WINE_CONFIG_TEST(dlls/mmdevapi/tests) WINE_CONFIG_DLL(mmdevldr.vxd,enable_win16) diff --git a/dlls/mmcndmgr/Makefile.in b/dlls/mmcndmgr/Makefile.in new file mode 100644 index 00000000000..91038a29966 --- /dev/null +++ b/dlls/mmcndmgr/Makefile.in @@ -0,0 +1,9 @@ +MODULE = mmcndmgr.dll +IMPORTS = uuid oleaut32 ole32 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 00000000000..2a7e0d468c0 --- /dev/null +++ b/dlls/mmcndmgr/mmcndmgr.c @@ -0,0 +1,78 @@ +/* + * + * 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 + +#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); + +static HINSTANCE MMC_hInstance; + +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); + + switch (fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + MMC_hInstance = hinstDLL; + 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 00000000000..bba1d72f29c --- /dev/null +++ b/dlls/mmcndmgr/mmcndmgr.idl @@ -0,0 +1,20 @@ +/* + * + * 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 00000000000..dfff9927a9e --- /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