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
14 // Disable some warnings in headers only
16 #pragma warning(disable:4244) // possible loss of data
17 #pragma warning(disable:4512) // assignment operator could not be gernerated
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
25 #define MERGE_FOLDERS 1
30 #define WIN32_NO_STATUS
32 #define COM_NO_WINDOWS_H
36 //#define DEBUG_CCOMOBJECT
37 #define DEBUG_CCOMOBJECT_CREATION 1
38 #define DEBUG_CCOMOBJECT_DESTRUCTION 1
39 #define DEBUG_CCOMOBJECT_REFCOUNTING 1
49 #include <shlobj_undoc.h>
51 #include <shlguid_undoc.h>
58 #include <undocshell.h>
59 #include <undocuser.h>
61 #include <shellutils.h>
63 #include "../shresdef.h"
65 #include <wine/debug.h>
74 extern HINSTANCE shell32_hInstance
;
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
);