d098759d7419e197a4b122ddd86b46004cab68a4
[reactos.git] / reactos / dll / win32 / shell32 / shellmenu / shellmenu.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 #define USE_SYSTEM_MERGED_FOLDERS 0
24
25 #define MERGE_FOLDERS 1
26
27 #include <stdio.h>
28 #include <tchar.h>
29
30 #define WIN32_NO_STATUS
31 #define _INC_WINDOWS
32 #define COM_NO_WINDOWS_H
33
34 #define COBJMACROS
35
36 //#define DEBUG_CCOMOBJECT
37 #define DEBUG_CCOMOBJECT_CREATION 1
38 #define DEBUG_CCOMOBJECT_DESTRUCTION 1
39 #define DEBUG_CCOMOBJECT_REFCOUNTING 1
40
41 #include <windef.h>
42 #include <winbase.h>
43 #include <winreg.h>
44 #include <wingdi.h>
45 #include <winnls.h>
46 #include <wincon.h>
47 #include <shellapi.h>
48 #include <shlobj.h>
49 #include <shlobj_undoc.h>
50 #include <shlwapi.h>
51 #include <shlguid_undoc.h>
52 #include <uxtheme.h>
53 #include <strsafe.h>
54
55 #include <atlbase.h>
56 #include <atlcom.h>
57 #include <atlwin.h>
58 #include <undocshell.h>
59 #include <undocuser.h>
60
61 #include <shellutils.h>
62 #include <rosctrls.h>
63 #include "../shresdef.h"
64
65 #include <wine/debug.h>
66
67 #if _MSC_VER
68 // Restore warnings
69 #pragma warning(pop)
70 #endif
71
72 extern "C"
73 {
74 extern HINSTANCE shell32_hInstance;
75
76 HRESULT WINAPI CStartMenu_Constructor(REFIID riid, void **ppv);
77 HRESULT WINAPI CMenuDeskBar_Constructor(REFIID riid, LPVOID *ppv);
78 HRESULT WINAPI CMenuSite_Constructor(REFIID riid, LPVOID *ppv);
79 HRESULT WINAPI CMenuBand_Constructor(REFIID riid, LPVOID *ppv);
80 HRESULT WINAPI CBandSite_Constructor(REFIID riid, LPVOID *ppv);
81 HRESULT WINAPI CMergedFolder_Constructor(REFIID riid, LPVOID *ppv);
82
83 }