* Sync up to trunk head (r65074).
[reactos.git] / 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 0
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 <undocshell.h>
62
63 #include <wine/debug.h>
64
65 #if _MSC_VER
66 // Restore warnings
67 #pragma warning(pop)
68 #endif
69
70 #define shell32_hInstance 0
71 #define SMC_EXEC 4
72 extern "C" INT WINAPI Shell_GetCachedImageIndex(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc);
73
74 extern "C" HRESULT WINAPI CStartMenu_Constructor(REFIID riid, void **ppv);
75 extern "C" HRESULT WINAPI CMenuDeskBar_Constructor(REFIID riid, LPVOID *ppv);
76 extern "C" HRESULT WINAPI CMenuSite_Constructor(REFIID riid, LPVOID *ppv);
77 extern "C" HRESULT WINAPI CMenuBand_Constructor(REFIID riid, LPVOID *ppv);
78 extern "C" HRESULT WINAPI CMenuDeskBar_Wrapper(IDeskBar * db, REFIID riid, LPVOID *ppv);
79 extern "C" HRESULT WINAPI CMenuSite_Wrapper(IBandSite * bs, REFIID riid, LPVOID *ppv);
80 extern "C" HRESULT WINAPI CMenuBand_Wrapper(IShellMenu * sm, REFIID riid, LPVOID *ppv);
81 extern "C" HRESULT WINAPI CMergedFolder_Constructor(REFIID riid, LPVOID *ppv);
82 extern "C" HRESULT WINAPI CStartMenuSite_Wrapper(ITrayPriv * trayPriv, REFIID riid, LPVOID *ppv);