ReactOS 0.4.15-dev-6663-gd1e9fe1
CShellDispatch Class Reference

#include <CShellDispatch.h>

Inheritance diagram for CShellDispatch:
Collaboration diagram for CShellDispatch:

Public Member Functions

 CShellDispatch ()
 
 ~CShellDispatch ()
 
HRESULT Initialize ()
 
virtual HRESULT STDMETHODCALLTYPE get_Application (IDispatch **ppid)
 
virtual HRESULT STDMETHODCALLTYPE get_Parent (IDispatch **ppid)
 
virtual HRESULT STDMETHODCALLTYPE NameSpace (VARIANT vDir, Folder **ppsdf)
 
virtual HRESULT STDMETHODCALLTYPE BrowseForFolder (LONG Hwnd, BSTR Title, LONG Options, VARIANT RootFolder, Folder **ppsdf)
 
virtual HRESULT STDMETHODCALLTYPE Windows (IDispatch **ppid)
 
virtual HRESULT STDMETHODCALLTYPE Open (VARIANT vDir)
 
virtual HRESULT STDMETHODCALLTYPE Explore (VARIANT vDir)
 
virtual HRESULT STDMETHODCALLTYPE MinimizeAll ()
 
virtual HRESULT STDMETHODCALLTYPE UndoMinimizeALL ()
 
virtual HRESULT STDMETHODCALLTYPE FileRun ()
 
virtual HRESULT STDMETHODCALLTYPE CascadeWindows ()
 
virtual HRESULT STDMETHODCALLTYPE TileVertically ()
 
virtual HRESULT STDMETHODCALLTYPE TileHorizontally ()
 
virtual HRESULT STDMETHODCALLTYPE ShutdownWindows ()
 
virtual HRESULT STDMETHODCALLTYPE Suspend ()
 
virtual HRESULT STDMETHODCALLTYPE EjectPC ()
 
virtual HRESULT STDMETHODCALLTYPE SetTime ()
 
virtual HRESULT STDMETHODCALLTYPE TrayProperties ()
 
virtual HRESULT STDMETHODCALLTYPE Help ()
 
virtual HRESULT STDMETHODCALLTYPE FindFiles ()
 
virtual HRESULT STDMETHODCALLTYPE FindComputer ()
 
virtual HRESULT STDMETHODCALLTYPE RefreshMenu ()
 
virtual HRESULT STDMETHODCALLTYPE ControlPanelItem (BSTR szDir)
 
virtual HRESULT STDMETHODCALLTYPE IsRestricted (BSTR group, BSTR restriction, LONG *value)
 
virtual HRESULT STDMETHODCALLTYPE ShellExecute (BSTR file, VARIANT args, VARIANT dir, VARIANT op, VARIANT show)
 
virtual HRESULT STDMETHODCALLTYPE FindPrinter (BSTR name, BSTR location, BSTR model)
 
virtual HRESULT STDMETHODCALLTYPE GetSystemInformation (BSTR name, VARIANT *ret)
 
virtual HRESULT STDMETHODCALLTYPE ServiceStart (BSTR service, VARIANT persistent, VARIANT *ret)
 
virtual HRESULT STDMETHODCALLTYPE ServiceStop (BSTR service, VARIANT persistent, VARIANT *ret)
 
virtual HRESULT STDMETHODCALLTYPE IsServiceRunning (BSTR service, VARIANT *running)
 
virtual HRESULT STDMETHODCALLTYPE CanStartStopService (BSTR service, VARIANT *ret)
 
virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar (BSTR clsid, VARIANT show, VARIANT *ret)
 
virtual HRESULT STDMETHODCALLTYPE AddToRecent (VARIANT file, BSTR category)
 
virtual HRESULT STDMETHODCALLTYPE WindowsSecurity ()
 
virtual HRESULT STDMETHODCALLTYPE ToggleDesktop ()
 
virtual HRESULT STDMETHODCALLTYPE ExplorerPolicy (BSTR policy, VARIANT *value)
 
virtual HRESULT STDMETHODCALLTYPE GetSetting (LONG setting, VARIANT_BOOL *result)
 
virtual HRESULT STDMETHODCALLTYPE GetInterfaceSafetyOptions (REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions)
 
virtual HRESULT STDMETHODCALLTYPE SetInterfaceSafetyOptions (REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions)
 
virtual HRESULT STDMETHODCALLTYPE SetSite (IUnknown *pUnkSite)
 
virtual HRESULT STDMETHODCALLTYPE GetSite (REFIID riid, PVOID *ppvSite)
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
HRESULT GetInterfaceSafetyOptions ([in] REFIID riid, [out] DWORD *pdwSupportedOptions, [out] DWORD *pdwEnabledOptions)
 
HRESULT SetInterfaceSafetyOptions ([in] REFIID riid, [in] DWORD dwOptionSetMask, [in] DWORD dwEnabledOptions)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
HRESULT SetSite ([in] IUnknown *pUnkSite)
 
HRESULT GetSite ([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
 

Additional Inherited Members

- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IObjectWithSite
typedef IObjectWithSiteLPOBJECTWITHSITE
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Detailed Description

Definition at line 13 of file CShellDispatch.h.

Constructor & Destructor Documentation

◆ CShellDispatch()

CShellDispatch::CShellDispatch ( )

Definition at line 15 of file CShellDispatch.cpp.

16{
17}

◆ ~CShellDispatch()

CShellDispatch::~CShellDispatch ( )

Definition at line 19 of file CShellDispatch.cpp.

20{
21}

Member Function Documentation

◆ AddToRecent()

HRESULT STDMETHODCALLTYPE CShellDispatch::AddToRecent ( VARIANT  file,
BSTR  category 
)
virtual

Definition at line 357 of file CShellDispatch.cpp.

358{
359 TRACE("(%p, %s, %ls)\n", this, wine_dbgstr_variant(&file), category);
360 return E_NOTIMPL;
361}
#define E_NOTIMPL
Definition: ddrawi.h:99
#define TRACE(s)
Definition: solgame.cpp:4
Definition: fci.c:127

◆ BrowseForFolder()

HRESULT STDMETHODCALLTYPE CShellDispatch::BrowseForFolder ( LONG  Hwnd,
BSTR  Title,
LONG  Options,
VARIANT  RootFolder,
Folder **  ppsdf 
)
virtual

Definition at line 97 of file CShellDispatch.cpp.

98{
99 TRACE("(%p, %lu, %ls, %lu, %s, %p)\n", this, Hwnd, Title, Options, debugstr_variant(&RootFolder), ppsdf);
100
101 *ppsdf = NULL;
102
103 if (!is_optional_argument(&RootFolder))
104 FIXME("root folder is ignored\n");
105
106 BROWSEINFOW bi = { 0 };
107 bi.hwndOwner = reinterpret_cast<HWND>(LongToHandle(Hwnd));
108 bi.lpszTitle = Title;
109 bi.ulFlags = Options;
110
112 selection.Attach(SHBrowseForFolderW(&bi));
113 if (!selection)
114 return S_FALSE;
115
116 return ShellObjectCreatorInit<CFolder>(static_cast<LPITEMIDLIST>(selection), IID_PPV_ARG(Folder, ppsdf));
117}
static BOOL is_optional_argument(const VARIANT *arg)
#define LongToHandle(h)
Definition: basetsd.h:82
#define FIXME(fmt,...)
Definition: debug.h:111
int selection
Definition: ctm.c:92
#define NULL
Definition: types.h:112
static const WCHAR Title[]
Definition: oid.c:1259
LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
Definition: brsfolder.c:1406
static const char * debugstr_variant(const VARIANT *var)
Definition: container.c:46
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
UINT ulFlags
Definition: shlobj.h:1135
HWND hwndOwner
Definition: shlobj.h:1131
LPCWSTR lpszTitle
Definition: shlobj.h:1134
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3534
#define S_FALSE
Definition: winerror.h:2357
#define IID_PPV_ARG(Itype, ppType)

◆ CanStartStopService()

HRESULT STDMETHODCALLTYPE CShellDispatch::CanStartStopService ( BSTR  service,
VARIANT ret 
)
virtual

Definition at line 343 of file CShellDispatch.cpp.

344{
345 TRACE("(%p, %ls, %p)\n", this, service, ret);
346 return E_NOTIMPL;
347}
int ret

◆ CascadeWindows()

HRESULT STDMETHODCALLTYPE CShellDispatch::CascadeWindows ( )
virtual

Definition at line 158 of file CShellDispatch.cpp.

159{
160 TRACE("(%p)\n", this);
161 return E_NOTIMPL;
162}

◆ ControlPanelItem()

HRESULT STDMETHODCALLTYPE CShellDispatch::ControlPanelItem ( BSTR  szDir)
virtual

Definition at line 230 of file CShellDispatch.cpp.

231{
232 TRACE("(%p, %ls)\n", this, szDir);
233 return E_NOTIMPL;
234}

◆ EjectPC()

HRESULT STDMETHODCALLTYPE CShellDispatch::EjectPC ( )
virtual

Definition at line 188 of file CShellDispatch.cpp.

189{
190 TRACE("(%p)\n", this);
191 return E_NOTIMPL;
192}

◆ Explore()

HRESULT STDMETHODCALLTYPE CShellDispatch::Explore ( VARIANT  vDir)
virtual

Definition at line 134 of file CShellDispatch.cpp.

135{
136 TRACE("(%p, %s)\n", this, debugstr_variant(&vDir));
137 return E_NOTIMPL;
138}

◆ ExplorerPolicy()

HRESULT STDMETHODCALLTYPE CShellDispatch::ExplorerPolicy ( BSTR  policy,
VARIANT value 
)
virtual

Definition at line 381 of file CShellDispatch.cpp.

382{
383 TRACE("(%p, %ls, %p)\n", this, policy, value);
384 return E_NOTIMPL;
385}
WDF_INTERRUPT_POLICY policy
Definition: pdh_main.c:94

◆ FileRun()

HRESULT STDMETHODCALLTYPE CShellDispatch::FileRun ( )
virtual

Definition at line 152 of file CShellDispatch.cpp.

153{
154 TRACE("(%p)\n", this);
155 return E_NOTIMPL;
156}

◆ FindComputer()

HRESULT STDMETHODCALLTYPE CShellDispatch::FindComputer ( )
virtual

Definition at line 218 of file CShellDispatch.cpp.

219{
220 TRACE("(%p)\n", this);
221 return E_NOTIMPL;
222}

◆ FindFiles()

HRESULT STDMETHODCALLTYPE CShellDispatch::FindFiles ( )
virtual

Definition at line 212 of file CShellDispatch.cpp.

213{
214 TRACE("(%p)\n", this);
215 return E_NOTIMPL;
216}

◆ FindPrinter()

HRESULT STDMETHODCALLTYPE CShellDispatch::FindPrinter ( BSTR  name,
BSTR  location,
BSTR  model 
)
virtual

Definition at line 275 of file CShellDispatch.cpp.

276{
277 TRACE("(%p, %ls, %ls, %ls)\n", this, name, location, model);
278 return E_NOTIMPL;
279}
Definition: name.c:39

◆ get_Application()

HRESULT STDMETHODCALLTYPE CShellDispatch::get_Application ( IDispatch **  ppid)
virtual

Definition at line 29 of file CShellDispatch.cpp.

30{
31 TRACE("(%p, %p)\n", this, ppid);
32
33 if (!ppid)
34 return E_INVALIDARG;
35
36 *ppid = this;
37 AddRef();
38
39 return S_OK;
40}
#define E_INVALIDARG
Definition: ddrawi.h:101
ULONG AddRef()
#define S_OK
Definition: intsafe.h:52

◆ get_Parent()

HRESULT STDMETHODCALLTYPE CShellDispatch::get_Parent ( IDispatch **  ppid)
virtual

Definition at line 42 of file CShellDispatch.cpp.

43{
44 TRACE("(%p, %p)\n", this, ppid);
45
46 if (ppid)
47 {
48 *ppid = static_cast<IDispatch*>(this);
49 AddRef();
50 }
51
52 return S_OK;
53}

◆ GetInterfaceSafetyOptions()

HRESULT STDMETHODCALLTYPE CShellDispatch::GetInterfaceSafetyOptions ( REFIID  riid,
DWORD pdwSupportedOptions,
DWORD pdwEnabledOptions 
)
virtual

Implements IObjectSafety.

Definition at line 395 of file CShellDispatch.cpp.

396{
397 TRACE("(%p, %s, %p, %p)\n", this, wine_dbgstr_guid(&riid), pdwSupportedOptions, pdwEnabledOptions);
398 return E_NOTIMPL;
399}
REFIID riid
Definition: atlbase.h:39
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:197

◆ GetSetting()

HRESULT STDMETHODCALLTYPE CShellDispatch::GetSetting ( LONG  setting,
VARIANT_BOOL result 
)
virtual

Definition at line 387 of file CShellDispatch.cpp.

388{
389 TRACE("(%p, %lu, %p)\n", this, setting, result);
390 return E_NOTIMPL;
391}
GLuint64EXT * result
Definition: glext.h:11304

◆ GetSite()

HRESULT STDMETHODCALLTYPE CShellDispatch::GetSite ( REFIID  riid,
PVOID ppvSite 
)
virtual

Implements IObjectWithSite.

Definition at line 415 of file CShellDispatch.cpp.

416{
417 TRACE("(%p, %s, %p)\n", this, wine_dbgstr_guid(&riid), ppvSite);
418 return E_NOTIMPL;
419}

◆ GetSystemInformation()

HRESULT STDMETHODCALLTYPE CShellDispatch::GetSystemInformation ( BSTR  name,
VARIANT ret 
)
virtual

Definition at line 281 of file CShellDispatch.cpp.

282{
283 TRACE("(%p, %ls, %p)\n", this, name, ret);
284 return E_NOTIMPL;
285}

◆ Help()

HRESULT STDMETHODCALLTYPE CShellDispatch::Help ( )
virtual

Definition at line 206 of file CShellDispatch.cpp.

207{
208 TRACE("(%p)\n", this);
209 return E_NOTIMPL;
210}

◆ Initialize()

HRESULT CShellDispatch::Initialize ( )

Definition at line 23 of file CShellDispatch.cpp.

24{
25 return S_OK;
26}

◆ IsRestricted()

HRESULT STDMETHODCALLTYPE CShellDispatch::IsRestricted ( BSTR  group,
BSTR  restriction,
LONG value 
)
virtual

Definition at line 238 of file CShellDispatch.cpp.

239{
240 TRACE("(%p, %ls, %ls, %p)\n", this, group, restriction, value);
241 return E_NOTIMPL;
242}
GLboolean GLuint group
Definition: glext.h:11120

◆ IsServiceRunning()

HRESULT STDMETHODCALLTYPE CShellDispatch::IsServiceRunning ( BSTR  service,
VARIANT running 
)
virtual

Definition at line 299 of file CShellDispatch.cpp.

300{
302 SC_HANDLE scm, service;
303 DWORD dummy;
304
305 TRACE("(%s, %p)\n", debugstr_w(name), running);
306
307 V_VT(running) = VT_BOOL;
308 V_BOOL(running) = VARIANT_FALSE;
309
311 if (!scm)
312 {
313 ERR("failed to connect to service manager\n");
314 return S_OK;
315 }
316
317 service = OpenServiceW(scm, name, SERVICE_QUERY_STATUS);
318 if (!service)
319 {
320 ERR("Failed to open service %s (%u)\n", debugstr_w(name), GetLastError());
322 return S_OK;
323 }
324
326 sizeof(SERVICE_STATUS_PROCESS), &dummy))
327 {
328 TRACE("failed to query service status (%u)\n", GetLastError());
329 CloseServiceHandle(service);
331 return S_OK;
332 }
333
334 if (status.dwCurrentState == SERVICE_RUNNING)
335 V_BOOL(running) = VARIANT_TRUE;
336
337 CloseServiceHandle(service);
339
340 return S_OK;
341}
#define ERR(fmt,...)
Definition: debug.h:110
@ VT_BOOL
Definition: compat.h:2306
unsigned long DWORD
Definition: ntddk_ex.h:95
#define debugstr_w
Definition: kernel32.h:32
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_VT(A)
Definition: oleauto.h:211
SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, DWORD dwDesiredAccess)
Definition: scm.c:2016
BOOL WINAPI QueryServiceStatusEx(SC_HANDLE hService, SC_STATUS_TYPE InfoLevel, LPBYTE lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded)
Definition: scm.c:2835
SC_HANDLE WINAPI OpenServiceW(SC_HANDLE hSCManager, LPCWSTR lpServiceName, DWORD dwDesiredAccess)
Definition: scm.c:2108
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
Definition: scm.c:580
Definition: ps.c:97
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define SERVICE_QUERY_STATUS
Definition: winsvc.h:55
@ SC_STATUS_PROCESS_INFO
Definition: winsvc.h:119
#define SC_MANAGER_CONNECT
Definition: winsvc.h:14
#define SERVICE_RUNNING
Definition: winsvc.h:24
unsigned char BYTE
Definition: xxhash.c:193

◆ MinimizeAll()

HRESULT STDMETHODCALLTYPE CShellDispatch::MinimizeAll ( )
virtual

Definition at line 140 of file CShellDispatch.cpp.

141{
142 TRACE("(%p)\n", this);
143 return E_NOTIMPL;
144}

◆ NameSpace()

HRESULT STDMETHODCALLTYPE CShellDispatch::NameSpace ( VARIANT  vDir,
Folder **  ppsdf 
)
virtual

Definition at line 69 of file CShellDispatch.cpp.

70{
71 TRACE("(%p, %s, %p)\n", this, debugstr_variant(&vDir), ppsdf);
72 if (!ppsdf)
73 return E_POINTER;
74 *ppsdf = NULL;
75 HRESULT hr;
76
77 if (V_VT(&vDir) == VT_I2)
78 {
79 hr = VariantChangeType(&vDir, &vDir, 0, VT_I4);
81 return hr;
82 }
83
85 hr = VariantToIdlist(&vDir, &idlist);
86 if (!SUCCEEDED(hr) || !idlist)
87 return S_FALSE;
88
89 return ShellObjectCreatorInit<CFolder>(static_cast<LPITEMIDLIST>(idlist), IID_PPV_ARG(Folder, ppsdf));
90}
HRESULT VariantToIdlist(VARIANT *var, LPITEMIDLIST *idlist)
@ VT_I4
Definition: compat.h:2298
@ VT_I2
Definition: compat.h:2297
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED_UNEXPECTEDLY(hr)
Definition: shellutils.h:82
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
Definition: variant.c:962
#define E_POINTER
Definition: winerror.h:2365

◆ Open()

HRESULT STDMETHODCALLTYPE CShellDispatch::Open ( VARIANT  vDir)
virtual

Definition at line 128 of file CShellDispatch.cpp.

129{
130 TRACE("(%p, %s)\n", this, debugstr_variant(&vDir));
131 return E_NOTIMPL;
132}

◆ RefreshMenu()

HRESULT STDMETHODCALLTYPE CShellDispatch::RefreshMenu ( )
virtual

Definition at line 224 of file CShellDispatch.cpp.

225{
226 TRACE("(%p)\n", this);
227 return E_NOTIMPL;
228}

◆ ServiceStart()

HRESULT STDMETHODCALLTYPE CShellDispatch::ServiceStart ( BSTR  service,
VARIANT  persistent,
VARIANT ret 
)
virtual

Definition at line 287 of file CShellDispatch.cpp.

288{
289 TRACE("(%p, %ls, %s, %p)\n", this, service, wine_dbgstr_variant(&persistent), ret);
290 return E_NOTIMPL;
291}

◆ ServiceStop()

HRESULT STDMETHODCALLTYPE CShellDispatch::ServiceStop ( BSTR  service,
VARIANT  persistent,
VARIANT ret 
)
virtual

Definition at line 293 of file CShellDispatch.cpp.

294{
295 TRACE("(%p, %ls, %s, %p)\n", this, service, wine_dbgstr_variant(&persistent), ret);
296 return E_NOTIMPL;
297}

◆ SetInterfaceSafetyOptions()

HRESULT STDMETHODCALLTYPE CShellDispatch::SetInterfaceSafetyOptions ( REFIID  riid,
DWORD  dwOptionSetMask,
DWORD  dwEnabledOptions 
)
virtual

Implements IObjectSafety.

Definition at line 401 of file CShellDispatch.cpp.

402{
403 TRACE("(%p, %s, %lu, %lu)\n", this, wine_dbgstr_guid(&riid), dwOptionSetMask, dwEnabledOptions);
404 return E_NOTIMPL;
405}

◆ SetSite()

HRESULT STDMETHODCALLTYPE CShellDispatch::SetSite ( IUnknown pUnkSite)
virtual

Implements IObjectWithSite.

Definition at line 409 of file CShellDispatch.cpp.

410{
411 TRACE("(%p, %p)\n", this, pUnkSite);
412 return E_NOTIMPL;
413}

◆ SetTime()

HRESULT STDMETHODCALLTYPE CShellDispatch::SetTime ( )
virtual

Definition at line 194 of file CShellDispatch.cpp.

195{
196 TRACE("(%p)\n", this);
197 return E_NOTIMPL;
198}

◆ ShellExecute()

HRESULT STDMETHODCALLTYPE CShellDispatch::ShellExecute ( BSTR  file,
VARIANT  args,
VARIANT  dir,
VARIANT  op,
VARIANT  show 
)
virtual

Definition at line 244 of file CShellDispatch.cpp.

245{
246 CComVariant args_str, dir_str, op_str, show_int;
247 WCHAR *args = NULL, *dir = NULL, *op = NULL;
248 INT show = 0;
250
251 TRACE("(%s, %s, %s, %s, %s)\n", debugstr_w(file), debugstr_variant(&v_args),
252 debugstr_variant(&v_dir), debugstr_variant(&v_op), debugstr_variant(&v_show));
253
254 args_str.ChangeType(VT_BSTR, &v_args);
255 if (V_VT(&args_str) == VT_BSTR)
256 args = V_BSTR(&args_str);
257
258 dir_str.ChangeType(VT_BSTR, &v_dir);
259 if (V_VT(&dir_str) == VT_BSTR)
260 dir = V_BSTR(&dir_str);
261
262 op_str.ChangeType(VT_BSTR, &v_op);
263 if (V_VT(&op_str) == VT_BSTR)
264 op = V_BSTR(&op_str);
265
266 show_int.ChangeType(VT_I4, &v_show);
267 if (V_VT(&show_int) == VT_I4)
268 show = V_I4(&show_int);
269
270 ret = ShellExecuteW(NULL, op, file, args, dir, show);
271
272 return (ULONG_PTR)ret > 32 ? S_OK : S_FALSE;
273}
unsigned int dir
Definition: maze.c:112
HRESULT ChangeType(_In_ VARTYPE newType, _In_opt_ const LPVARIANT src=NULL)
Definition: atlcomcli.h:566
UINT op
Definition: effect.c:236
@ VT_BSTR
Definition: compat.h:2303
const char * op_str
Definition: compile.c:77
#define V_BSTR(A)
Definition: oleauto.h:226
#define V_I4(A)
Definition: oleauto.h:247
HINSTANCE WINAPI ShellExecuteW(HWND hwnd, LPCWSTR lpVerb, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd)
Definition: shlexec.cpp:2379
Definition: match.c:390
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG_PTR
Definition: typedefs.h:65
__wchar_t WCHAR
Definition: xmlstorage.h:180

◆ ShowBrowserBar()

HRESULT STDMETHODCALLTYPE CShellDispatch::ShowBrowserBar ( BSTR  clsid,
VARIANT  show,
VARIANT ret 
)
virtual

Definition at line 349 of file CShellDispatch.cpp.

350{
351 TRACE("(%p, %ls, %s, %p)\n", this, clsid, wine_dbgstr_variant(&show), ret);
352 return E_NOTIMPL;
353}
REFCLSID clsid
Definition: msctf.c:82

◆ ShutdownWindows()

HRESULT STDMETHODCALLTYPE CShellDispatch::ShutdownWindows ( )
virtual

Definition at line 176 of file CShellDispatch.cpp.

177{
179 return S_OK;
180}
void WINAPI ExitWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1608

◆ Suspend()

HRESULT STDMETHODCALLTYPE CShellDispatch::Suspend ( )
virtual

Definition at line 182 of file CShellDispatch.cpp.

183{
184 TRACE("(%p)\n", this);
185 return E_NOTIMPL;
186}

◆ TileHorizontally()

HRESULT STDMETHODCALLTYPE CShellDispatch::TileHorizontally ( )
virtual

Definition at line 170 of file CShellDispatch.cpp.

171{
172 TRACE("(%p)\n", this);
173 return E_NOTIMPL;
174}

◆ TileVertically()

HRESULT STDMETHODCALLTYPE CShellDispatch::TileVertically ( )
virtual

Definition at line 164 of file CShellDispatch.cpp.

165{
166 TRACE("(%p)\n", this);
167 return E_NOTIMPL;
168}

◆ ToggleDesktop()

HRESULT STDMETHODCALLTYPE CShellDispatch::ToggleDesktop ( )
virtual

Definition at line 371 of file CShellDispatch.cpp.

372{
373 TRACE("(%p)\n", this);
374
375 HWND hTrayWnd = FindWindowW(L"Shell_TrayWnd", NULL);
377
378 return S_OK;
379}
#define L(x)
Definition: ntvdm.h:50
#define TRAYCMD_TOGGLE_DESKTOP
Definition: undocshell.h:741
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_COMMAND
Definition: winuser.h:1730
HWND WINAPI FindWindowW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR)

◆ TrayProperties()

HRESULT STDMETHODCALLTYPE CShellDispatch::TrayProperties ( )
virtual

Definition at line 200 of file CShellDispatch.cpp.

201{
202 TRACE("(%p)\n", this);
203 return E_NOTIMPL;
204}

◆ UndoMinimizeALL()

HRESULT STDMETHODCALLTYPE CShellDispatch::UndoMinimizeALL ( )
virtual

Definition at line 146 of file CShellDispatch.cpp.

147{
148 TRACE("(%p)\n", this);
149 return E_NOTIMPL;
150}

◆ Windows()

HRESULT STDMETHODCALLTYPE CShellDispatch::Windows ( IDispatch **  ppid)
virtual

Definition at line 119 of file CShellDispatch.cpp.

120{
121 TRACE("(%p, %p)\n", this, ppid);
122
123 *ppid = NULL;
124
125 return E_NOTIMPL;
126}

◆ WindowsSecurity()

HRESULT STDMETHODCALLTYPE CShellDispatch::WindowsSecurity ( )
virtual

Definition at line 365 of file CShellDispatch.cpp.

366{
367 TRACE("(%p)\n", this);
368 return E_NOTIMPL;
369}

The documentation for this class was generated from the following files: