1 /* 2 * msftedit main file 3 * 4 * Copyright (C) 2008 Rico Schüller 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 * 20 */ 21 22 #include <stdarg.h> 23 24 #include "windef.h" 25 #include "winbase.h" 26 #include "winreg.h" 27 #include "wingdi.h" 28 #include "winuser.h" 29 #include "richedit.h" 30 #include "imm.h" 31 #include "shlwapi.h" 32 #include "oleidl.h" 33 #include "initguid.h" 34 #include "textserv.h" 35 36 #include "wine/debug.h" 37 38 WINE_DEFAULT_DEBUG_CHANNEL(msftedit); 39 40 /*********************************************************************** 41 * DllMain. 42 */ 43 BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved) 44 { 45 static const WCHAR riched20W[] = {'r','i','c','h','e','d','2','0','.','d','l','l',0}; 46 static HMODULE richedit; 47 48 switch(reason) 49 { 50 case DLL_WINE_PREATTACH: 51 return FALSE; /* prefer native version */ 52 case DLL_PROCESS_ATTACH: 53 /* explicitly load riched20 since it creates the window classes at dll attach time */ 54 richedit = LoadLibraryW( riched20W ); 55 DisableThreadLibraryCalls(inst); 56 break; 57 case DLL_PROCESS_DETACH: 58 FreeLibrary( richedit ); 59 break; 60 } 61 return TRUE; 62 } 63 64 /*********************************************************************** 65 * DllGetVersion (msftedit.@) 66 */ 67 HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info) 68 { 69 if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n"); 70 71 /* this is what WINXP SP2 reports */ 72 info->dwMajorVersion = 41; 73 info->dwMinorVersion = 15; 74 info->dwBuildNumber = 1507; 75 info->dwPlatformID = 1; 76 return NOERROR; 77 } 78