ReactOS 0.4.15-dev-8100-g1887773
CShellDispatch.h
Go to the documentation of this file.
1/*
2 * PROJECT: shell32
3 * LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
4 * PURPOSE: IShellDispatch implementation
5 * COPYRIGHT: Copyright 2015-2018 Mark Jansen (mark.jansen@reactos.org)
6 */
7
8#ifndef _SHELLDISPATCH_H_
9#define _SHELLDISPATCH_H_
10
11#undef ShellExecute
12
14 public CComCoClass<CShellDispatch, &CLSID_Shell>,
15 public CComObjectRootEx<CComMultiThreadModelNoCS>,
16 public IDispatchImpl<IShellDispatch4, &IID_IShellDispatch4>,
17 public IObjectSafety,
18 public IObjectWithSite
19{
20private:
21
22public:
25
27
28 // *** IShellDispatch methods ***
29 STDMETHOD(get_Application)(IDispatch **ppid) override;
30 STDMETHOD(get_Parent)(IDispatch **ppid) override;
31 STDMETHOD(NameSpace)(VARIANT vDir, Folder **ppsdf) override;
32 STDMETHOD(BrowseForFolder)(LONG Hwnd, BSTR Title, LONG Options, VARIANT RootFolder, Folder **ppsdf) override;
33 STDMETHOD(Windows)(IDispatch **ppid) override;
34 STDMETHOD(Open)(VARIANT vDir) override;
35 STDMETHOD(Explore)(VARIANT vDir) override;
36 STDMETHOD(MinimizeAll)() override;
37 STDMETHOD(UndoMinimizeALL)() override;
38 STDMETHOD(FileRun)() override;
39 STDMETHOD(CascadeWindows)() override;
40 STDMETHOD(TileVertically)() override;
41 STDMETHOD(TileHorizontally)() override;
42 STDMETHOD(ShutdownWindows)() override;
43 STDMETHOD(Suspend)() override;
44 STDMETHOD(EjectPC)() override;
45 STDMETHOD(SetTime)() override;
46 STDMETHOD(TrayProperties)() override;
47 STDMETHOD(Help)() override;
48 STDMETHOD(FindFiles)() override;
49 STDMETHOD(FindComputer)() override;
50 STDMETHOD(RefreshMenu)() override;
51 STDMETHOD(ControlPanelItem)(BSTR szDir) override;
52
53 // *** IShellDispatch2 methods ***
54 STDMETHOD(IsRestricted)(BSTR group, BSTR restriction, LONG *value) override;
56 STDMETHOD(FindPrinter)(BSTR name, BSTR location, BSTR model) override;
58 STDMETHOD(ServiceStart)(BSTR service, VARIANT persistent, VARIANT *ret) override;
59 STDMETHOD(ServiceStop)(BSTR service, VARIANT persistent, VARIANT *ret) override;
60 STDMETHOD(IsServiceRunning)(BSTR service, VARIANT *running) override;
61 STDMETHOD(CanStartStopService)(BSTR service, VARIANT *ret) override;
63
64 // *** IShellDispatch3 methods ***
66
67 // *** IShellDispatch4 methods ***
68 STDMETHOD(WindowsSecurity)() override;
69 STDMETHOD(ToggleDesktop)() override;
72
73 // *** IObjectSafety methods ***
74 STDMETHOD(GetInterfaceSafetyOptions)(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions) override;
75 STDMETHOD(SetInterfaceSafetyOptions)(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) override;
76
77 // *** IObjectWithSite methods ***
78 STDMETHOD(SetSite)(IUnknown *pUnkSite) override;
79 STDMETHOD(GetSite)(REFIID riid, PVOID *ppvSite) override;
80
83
85
87 COM_INTERFACE_ENTRY_IID(IID_IShellDispatch4, IShellDispatch4)
88 COM_INTERFACE_ENTRY_IID(IID_IShellDispatch3, IShellDispatch3)
89 COM_INTERFACE_ENTRY_IID(IID_IShellDispatch2, IShellDispatch2)
90 COM_INTERFACE_ENTRY_IID(IID_IShellDispatch, IShellDispatch)
92 COM_INTERFACE_ENTRY_IID(IID_IObjectSafety, IObjectSafety)
95};
96
97#endif /* _SHELLDISPATCH_H_ */
unsigned int dir
Definition: maze.c:112
#define STDMETHOD(m)
Definition: basetyps.h:62
STDMETHOD() NameSpace(VARIANT vDir, Folder **ppsdf) override
HRESULT Initialize()
STDMETHOD() ControlPanelItem(BSTR szDir) override
STDMETHOD() ExplorerPolicy(BSTR policy, VARIANT *value) override
STDMETHOD() AddToRecent(VARIANT file, BSTR category) override
STDMETHOD() BrowseForFolder(LONG Hwnd, BSTR Title, LONG Options, VARIANT RootFolder, Folder **ppsdf) override
STDMETHOD() UndoMinimizeALL() override
STDMETHOD() GetSite(REFIID riid, PVOID *ppvSite) override
STDMETHOD() Explore(VARIANT vDir) override
STDMETHOD() TileHorizontally() override
STDMETHOD() Suspend() override
STDMETHOD() get_Application(IDispatch **ppid) override
STDMETHOD() SetTime() override
STDMETHOD() GetSetting(LONG setting, VARIANT_BOOL *result) override
STDMETHOD() IsServiceRunning(BSTR service, VARIANT *running) override
STDMETHOD() EjectPC() override
STDMETHOD() FindFiles() override
STDMETHOD() CascadeWindows() override
STDMETHOD() IsRestricted(BSTR group, BSTR restriction, LONG *value) override
STDMETHOD() GetInterfaceSafetyOptions(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions) override
STDMETHOD() RefreshMenu() override
STDMETHOD() ShutdownWindows() override
STDMETHOD() ToggleDesktop() override
STDMETHOD() TileVertically() override
STDMETHOD() MinimizeAll() override
STDMETHOD() ShowBrowserBar(BSTR clsid, VARIANT show, VARIANT *ret) override
STDMETHOD() get_Parent(IDispatch **ppid) override
STDMETHOD() FindPrinter(BSTR name, BSTR location, BSTR model) override
STDMETHOD() SetSite(IUnknown *pUnkSite) override
STDMETHOD() WindowsSecurity() override
STDMETHOD() CanStartStopService(BSTR service, VARIANT *ret) override
STDMETHOD() FindComputer() override
STDMETHOD() Windows(IDispatch **ppid) override
STDMETHOD() FileRun() override
STDMETHOD() SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) override
STDMETHOD() ServiceStart(BSTR service, VARIANT persistent, VARIANT *ret) override
STDMETHOD() Help() override
STDMETHOD() GetSystemInformation(BSTR name, VARIANT *ret) override
STDMETHOD() TrayProperties() override
UINT op
Definition: effect.c:236
static const WCHAR Title[]
Definition: oid.c:1259
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
unsigned long DWORD
Definition: ntddk_ex.h:95
WDF_INTERRUPT_POLICY policy
GLboolean GLuint group
Definition: glext.h:11120
GLuint64EXT * result
Definition: glext.h:11304
REFIID riid
Definition: atlbase.h:39
#define location(file, line)
Definition: kmtest.h:18
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
#define Open
Definition: syshdrs.h:62
const IID IID_IObjectWithSite
REFCLSID clsid
Definition: msctf.c:82
VOID ServiceStop()
Definition: nfs41_daemon.c:156
const GUID IID_IDispatch
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
#define args
Definition: format.c:66
#define ShellExecute
Definition: shellapi.h:693
#define IDR_SHELL
Definition: shresdef.h:908
Definition: fci.c:127
Definition: name.c:39
Definition: pdh_main.c:94
int ret
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3534