[HEADERS]
[reactos.git] / reactos / base / shell / rshell / precomp.h
1
2 #ifdef _MSC_VER
3
4 // Disabling spammy warnings when compiling with /W4 or /Wall
5 #pragma warning(disable:4100) // unreferenced formal parameter
6 #pragma warning(disable:4201) // nonstandard extension used
7 #pragma warning(disable:4265) // class has virtual functions, but destructor is not virtual
8 #pragma warning(disable:4365) // signed/unsigned mismatch
9 #pragma warning(disable:4514) // unreferenced inline function
10 #pragma warning(disable:4710) // function was not inlined
11 #pragma warning(disable:4820) // padding added
12 #pragma warning(disable:4946) // reinterpret_cast between related classes
13
14 // Disable some warnings in headers only
15 #pragma warning(push)
16 #pragma warning(disable:4244) // possible loss of data
17 #pragma warning(disable:4512) // assignment operator could not be gernerated
18 #endif
19
20 #define USE_SYSTEM_MENUDESKBAR 0
21 #define USE_SYSTEM_MENUSITE 0
22 #define USE_SYSTEM_MENUBAND 0
23
24 #define WRAP_MENUDESKBAR 0
25 #define WRAP_MENUSITE 0
26 #define WRAP_MENUBAND 0
27 #define WRAP_TRAYPRIV 0
28
29 #define MERGE_FOLDERS 1
30
31 #include <stdio.h>
32 #include <tchar.h>
33
34 #define WIN32_NO_STATUS
35 #define _INC_WINDOWS
36 #define COM_NO_WINDOWS_H
37
38 #define COBJMACROS
39
40 //#define DEBUG_CCOMOBJECT
41 #define DEBUG_CCOMOBJECT_CREATION 1
42 #define DEBUG_CCOMOBJECT_DESTRUCTION 1
43 #define DEBUG_CCOMOBJECT_REFCOUNTING 1
44
45 #include <windef.h>
46 #include <winbase.h>
47 #include <winreg.h>
48 #include <wingdi.h>
49 #include <winnls.h>
50 #include <wincon.h>
51 #include <shellapi.h>
52 #include <shlobj.h>
53 #include <shlobj_undoc.h>
54 #include <shlwapi.h>
55 #include <shlguid_undoc.h>
56 #include <uxtheme.h>
57 #include <strsafe.h>
58
59 #include <atlbase.h>
60 #include <atlcom.h>
61 #include <atlwin.h>
62 #include <undocshell.h>
63 #include <undocuser.h>
64
65 #include <shellutils.h>
66 #include <rosctrls.h>
67
68 #include <wine/debug.h>
69
70 #if _MSC_VER
71 // Restore warnings
72 #pragma warning(pop)
73 #endif
74
75 #define shell32_hInstance 0
76
77 extern "C" HRESULT WINAPI CStartMenu_Constructor(REFIID riid, void **ppv);
78 extern "C" HRESULT WINAPI CMenuDeskBar_Constructor(REFIID riid, LPVOID *ppv);
79 extern "C" HRESULT WINAPI CMenuSite_Constructor(REFIID riid, LPVOID *ppv);
80 extern "C" HRESULT WINAPI CMenuBand_Constructor(REFIID riid, LPVOID *ppv);
81 extern "C" HRESULT WINAPI CMenuDeskBar_Wrapper(IDeskBar * db, REFIID riid, LPVOID *ppv);
82 extern "C" HRESULT WINAPI CMenuSite_Wrapper(IBandSite * bs, REFIID riid, LPVOID *ppv);
83 extern "C" HRESULT WINAPI CMenuBand_Wrapper(IShellMenu * sm, REFIID riid, LPVOID *ppv);
84 extern "C" HRESULT WINAPI CMergedFolder_Constructor(REFIID riid, LPVOID *ppv);
85 extern "C" HRESULT WINAPI CStartMenuSite_Wrapper(ITrayPriv * trayPriv, REFIID riid, LPVOID *ppv);