ReactOS
0.4.16-dev-109-gf4cb10f
shellmenu.h
Go to the documentation of this file.
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
#include <stdio.h>
21
#include <tchar.h>
22
23
#define WIN32_NO_STATUS
24
#define _INC_WINDOWS
25
#define COM_NO_WINDOWS_H
26
27
#define COBJMACROS
28
29
//#define DEBUG_CCOMOBJECT
30
#define DEBUG_CCOMOBJECT_CREATION 1
31
#define DEBUG_CCOMOBJECT_DESTRUCTION 1
32
#define DEBUG_CCOMOBJECT_REFCOUNTING 1
33
34
#include <
windef.h
>
35
#include <
winbase.h
>
36
#include <
winreg.h
>
37
#include <
wingdi.h
>
38
#include <
winnls.h
>
39
#include <
wincon.h
>
40
#include <
shellapi.h
>
41
#include <
shlobj.h
>
42
#include <
shlobj_undoc.h
>
43
#include <
shlwapi.h
>
44
#include <
shlguid_undoc.h
>
45
#include <
uxtheme.h
>
46
#include <
strsafe.h
>
47
48
#include <atlbase.h>
49
#include <atlcom.h>
50
#include <atlwin.h>
51
#include <
undocshell.h
>
52
#include <
undocuser.h
>
53
54
#include <
shellutils.h
>
55
#include <
ui/rosctrls.h
>
56
#include "../shresdef.h"
57
58
#include <
wine/debug.h
>
59
60
#if _MSC_VER
61
// Restore warnings
62
#pragma warning(pop)
63
#endif
64
65
#define USE_SYSTEM_MENUDESKBAR 0
66
#define USE_SYSTEM_MENUSITE 0
67
#define USE_SYSTEM_MENUBAND 0
68
#define USE_SYSTEM_MERGED_FOLDERS 0
69
70
#define MERGE_FOLDERS 1
71
72
#if USE_SYSTEM_MENUDESKBAR
73
#define CMenuDeskBar_CreateInstance(riid, ppv) (CoCreateInstance(CLSID_MenuDeskBar, NULL, CLSCTX_INPROC_SERVER,riid, ppv))
74
#else
75
#define CMenuDeskBar_CreateInstance RSHELL_CMenuDeskBar_CreateInstance
76
#endif
77
78
#if USE_SYSTEM_MENUBAND
79
#define CMenuBand_CreateInstance(riid, ppv) (CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER,riid, ppv))
80
#else
81
#define CMenuBand_CreateInstance RSHELL_CMenuBand_CreateInstance
82
#endif
83
84
#if USE_SYSTEM_MENUSITE
85
#define CMenuSite_CreateInstance(riid, ppv) (CoCreateInstance(CLSID_MenuBandSite, NULL, CLSCTX_INPROC_SERVER,riid, ppv))
86
#else
87
#define CMenuSite_CreateInstance RSHELL_CMenuSite_CreateInstance
88
#endif
89
90
#if USE_SYSTEM_MERGED_FOLDERS
91
#define CMergedFolder_CreateInstance(riid, ppv) (CoCreateInstance(CLSID_MergedFolder, NULL, CLSCTX_INPROC_SERVER,riid, ppv))
92
#else
93
#define CMergedFolder_CreateInstance RSHELL_CMergedFolder_CreateInstance
94
#endif
95
96
extern
"C"
97
{
98
extern
HINSTANCE
shell32_hInstance
;
99
100
HRESULT
WINAPI
RSHELL_CStartMenu_CreateInstance
(
REFIID
riid
,
void
**
ppv
);
101
HRESULT
WINAPI
RSHELL_CMenuDeskBar_CreateInstance
(
REFIID
riid
,
LPVOID
*
ppv
);
102
HRESULT
WINAPI
RSHELL_CMenuSite_CreateInstance
(
REFIID
riid
,
LPVOID
*
ppv
);
103
HRESULT
WINAPI
RSHELL_CMenuBand_CreateInstance
(
REFIID
riid
,
LPVOID
*
ppv
);
104
HRESULT
WINAPI
RSHELL_CMergedFolder_CreateInstance
(
REFIID
riid
,
LPVOID
*
ppv
);
105
106
}
riid
REFIID riid
Definition:
atlbase.h:39
ppv
REFIID LPVOID * ppv
Definition:
atlbase.h:39
HRESULT
Definition:
mshtmhst.idl:286
void
Definition:
nsiface.idl:2307
REFIID
#define REFIID
Definition:
guiddef.h:118
rosctrls.h
debug.h
shellapi.h
shell32_hInstance
HINSTANCE shell32_hInstance
Definition:
misc.cpp:69
RSHELL_CStartMenu_CreateInstance
HRESULT WINAPI RSHELL_CStartMenu_CreateInstance(REFIID riid, void **ppv)
Definition:
CStartMenu.cpp:592
RSHELL_CMenuBand_CreateInstance
HRESULT WINAPI RSHELL_CMenuBand_CreateInstance(REFIID riid, LPVOID *ppv)
Definition:
CMenuBand.cpp:1320
RSHELL_CMenuSite_CreateInstance
HRESULT WINAPI RSHELL_CMenuSite_CreateInstance(REFIID riid, LPVOID *ppv)
Definition:
CMenuSite.cpp:360
RSHELL_CMenuDeskBar_CreateInstance
HRESULT WINAPI RSHELL_CMenuDeskBar_CreateInstance(REFIID riid, LPVOID *ppv)
Definition:
CMenuDeskBar.cpp:855
RSHELL_CMergedFolder_CreateInstance
HRESULT WINAPI RSHELL_CMergedFolder_CreateInstance(REFIID riid, LPVOID *ppv)
Definition:
CMergedFolder.cpp:813
shellutils.h
shlguid_undoc.h
shlobj.h
shlobj_undoc.h
shlwapi.h
strsafe.h
undocshell.h
undocuser.h
uxtheme.h
winbase.h
wincon.h
windef.h
WINAPI
#define WINAPI
Definition:
msvc.h:6
wingdi.h
winnls.h
winreg.h
dll
win32
shell32
shellmenu
shellmenu.h
Generated on Wed Oct 9 2024 06:11:01 for ReactOS by
1.9.6