xref: /reactos/dll/win32/msftedit/msftedit_main.c (revision c2c66aff)
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 #define WIN32_NO_STATUS
23 #define _INC_WINDOWS
24 #define COM_NO_WINDOWS_H
25 
26 #include <config.h>
27 //#include "wine/port.h"
28 
29 #include <stdarg.h>
30 
31 #include <windef.h>
32 #include <winbase.h>
33 #include <winreg.h>
34 #include <wingdi.h>
35 #include <winuser.h>
36 #include <richedit.h>
37 #include <imm.h>
38 #include <shlwapi.h>
39 #include <oleidl.h>
40 #include <initguid.h>
41 #include <textserv.h>
42 
43 #include <wine/debug.h>
44 
45 WINE_DEFAULT_DEBUG_CHANNEL(msftedit);
46 
47 /***********************************************************************
48  * DllMain.
49  */
50 BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
51 {
52     static const WCHAR riched20W[] = {'r','i','c','h','e','d','2','0','.','d','l','l',0};
53     static HMODULE richedit;
54 
55     switch(reason)
56     {
57     case DLL_WINE_PREATTACH:
58         return FALSE; /* prefer native version */
59     case DLL_PROCESS_ATTACH:
60         /* explicitly load riched20 since it creates the window classes at dll attach time */
61         richedit = LoadLibraryW( riched20W );
62         DisableThreadLibraryCalls(inst);
63         break;
64     case DLL_PROCESS_DETACH:
65         FreeLibrary( richedit );
66         break;
67     }
68     return TRUE;
69 }
70 
71 /***********************************************************************
72  *              DllGetVersion (msftedit.@)
73  */
74 HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info)
75 {
76     if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
77 
78     /* this is what WINXP SP2 reports */
79     info->dwMajorVersion = 41;
80     info->dwMinorVersion = 15;
81     info->dwBuildNumber = 1507;
82     info->dwPlatformID = 1;
83     return NOERROR;
84 }
85