ReactOS 0.4.16-dev-1457-g02ea0aa
CNSCBand.cpp File Reference
#include "objects.h"
#include <shlobj.h>
#include <commoncontrols.h>
#include <undocshell.h>
#include <wine/debug.h>
Include dependency graph for CNSCBand.cpp:

Go to the source code of this file.

Classes

struct  CMenuTemp
 

Macros

#define TIMER_ID_REFRESH   9999
 
#define TARGET_EVENTS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shdocvw)
 
HRESULT SHDOCVW_GetPathOfShortcut (_In_opt_ HWND hWnd, _In_ LPCWSTR pszLnkFile, _Out_ LPWSTR pszPath)
 
static HRESULT SHDOCVW_GetCurrentLocationFromView (_In_ IShellView &View, _In_ PIDLIST_ABSOLUTE *ppidl)
 
static LRESULT CALLBACK MenuMessageForwarderWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 

Macro Definition Documentation

◆ TARGET_EVENTS

#define TARGET_EVENTS
Value:
( \
)
#define SHCNE_DRIVEREMOVED
Definition: shlobj.h:1902
#define SHCNE_RMDIR
Definition: shlobj.h:1899
#define SHCNE_DELETE
Definition: shlobj.h:1897
#define SHCNE_MKDIR
Definition: shlobj.h:1898
#define SHCNE_UPDATEITEM
Definition: shlobj.h:1908
#define SHCNE_RENAMEITEM
Definition: shlobj.h:1895
#define SHCNE_UPDATEDIR
Definition: shlobj.h:1907
#define SHCNE_CREATE
Definition: shlobj.h:1896
#define SHCNE_RENAMEFOLDER
Definition: shlobj.h:1912
#define SHCNE_DRIVEADD
Definition: shlobj.h:1903
#define SHCNE_ASSOCCHANGED
Definition: shlobj.h:1916

◆ TIMER_ID_REFRESH

#define TIMER_ID_REFRESH   9999

Definition at line 13 of file CNSCBand.cpp.

Function Documentation

◆ MenuMessageForwarderWndProc()

static LRESULT CALLBACK MenuMessageForwarderWndProc ( HWND  hWnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)
static

Definition at line 976 of file CNSCBand.cpp.

977{
978 LRESULT ret = 0;
980 if (uMsg == WM_DESTROY)
981 SetWindowLongPtrW(hWnd, 0, 0);
982 else if (pCM && SHForwardContextMenuMsg(pCM, uMsg, wParam, lParam, &ret, TRUE) == S_OK)
983 return ret;
984 return DefWindowProcW(hWnd, uMsg, wParam, lParam);
985}
HWND hWnd
Definition: settings.c:17
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define TRUE
Definition: types.h:120
return ret
Definition: mutex.c:146
#define S_OK
Definition: intsafe.h:52
HRESULT WINAPI SHForwardContextMenuMsg(IUnknown *pUnk, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pResult, BOOL useIContextMenu2)
Definition: rosordinal.c:11
LONG_PTR LRESULT
Definition: windef.h:209
#define GetWindowLongPtrW
Definition: winuser.h:4905
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_DESTROY
Definition: winuser.h:1628
#define SetWindowLongPtrW
Definition: winuser.h:5431

◆ SHDOCVW_GetCurrentLocationFromView()

static HRESULT SHDOCVW_GetCurrentLocationFromView ( _In_ IShellView View,
_In_ PIDLIST_ABSOLUTE ppidl 
)
static

Definition at line 127 of file CNSCBand.cpp.

128{
129 CComPtr<IFolderView> pfv;
130 CComPtr<IShellFolder> psf;
132 if (SUCCEEDED(hr) && SUCCEEDED(hr = pfv->GetFolder(IID_PPV_ARG(IShellFolder, &psf))))
133 hr = SHELL_GetIDListFromObject(psf, ppidl);
134 return hr;
135}
EXTERN_C HRESULT SHELL_GetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl)
Definition: utility.cpp:36
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
HRESULT hr
Definition: shlfolder.c:183
#define IID_PPV_ARG(Itype, ppType)

◆ SHDOCVW_GetPathOfShortcut()

HRESULT SHDOCVW_GetPathOfShortcut ( _In_opt_ HWND  hWnd,
_In_ LPCWSTR  pszLnkFile,
_Out_ LPWSTR  pszPath 
)

Definition at line 19 of file CNSCBand.cpp.

23{
24 *pszPath = UNICODE_NULL;
25 CComPtr<IShellLink> pShellLink;
26 HRESULT hr = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
27 IID_PPV_ARG(IShellLink, &pShellLink));
29 return hr;
30
31 CComPtr<IPersistFile> pPersistFile;
32 hr = pShellLink->QueryInterface(IID_PPV_ARG(IPersistFile, &pPersistFile));
34 return hr;
35
36 hr = pPersistFile->Load(pszLnkFile, STGM_READ);
38 return hr;
39
41 hr = pShellLink->GetPath(pszPath, MAX_PATH, &find, 0);
43 return hr;
44
45 return S_OK;
46}
static TAGID TAGID find
Definition: db.cpp:155
#define NULL
Definition: types.h:112
#define MAX_PATH
Definition: compat.h:34
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define FAILED_UNEXPECTEDLY
Definition: utils.cpp:30
#define UNICODE_NULL
#define STGM_READ
Definition: objbase.h:917

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shdocvw  )