ReactOS 0.4.15-dev-8434-g155a7c7
explorerband.cpp File Reference
#include "precomp.h"
#include <commoncontrols.h>
#include <undocshell.h>
#include "utility.h"
Include dependency graph for explorerband.cpp:

Go to the source code of this file.

Classes

struct  _PIDLDATA
 

Macros

#define UNIMPLEMENTED   DbgPrint("%s is UNIMPLEMENTED!\n", __FUNCTION__)
 
#define PT_GUID   0x1F
 
#define PT_SHELLEXT   0x2E
 
#define PT_YAGUID   0x70
 
#define TARGET_EVENTS
 
#define TIMER_ID_REFRESH   9999
 

Typedefs

typedef struct _PIDLDATA PIDLDATA
 
typedef struct _PIDLDATALPPIDLDATA
 

Functions

static BOOL _ILIsSpecialFolder (LPCITEMIDLIST pidl)
 
HRESULT GetDisplayName (LPCITEMIDLIST pidlDirectory, TCHAR *szDisplayName, UINT cchMax, DWORD uFlags)
 
static HRESULT GetCurrentLocationFromView (IShellView &View, PIDLIST_ABSOLUTE &pidl)
 

Macro Definition Documentation

◆ PT_GUID

#define PT_GUID   0x1F

Definition at line 33 of file explorerband.cpp.

◆ PT_SHELLEXT

#define PT_SHELLEXT   0x2E

Definition at line 34 of file explorerband.cpp.

◆ PT_YAGUID

#define PT_YAGUID   0x70

Definition at line 35 of file explorerband.cpp.

◆ TARGET_EVENTS

#define TARGET_EVENTS
Value:
( \
)
#define SHCNE_DRIVEREMOVED
Definition: shlobj.h:1896
#define SHCNE_RMDIR
Definition: shlobj.h:1893
#define SHCNE_DELETE
Definition: shlobj.h:1891
#define SHCNE_MKDIR
Definition: shlobj.h:1892
#define SHCNE_UPDATEITEM
Definition: shlobj.h:1902
#define SHCNE_RENAMEITEM
Definition: shlobj.h:1889
#define SHCNE_UPDATEDIR
Definition: shlobj.h:1901
#define SHCNE_CREATE
Definition: shlobj.h:1890
#define SHCNE_RENAMEFOLDER
Definition: shlobj.h:1906
#define SHCNE_DRIVEADD
Definition: shlobj.h:1897
#define SHCNE_ASSOCCHANGED
Definition: shlobj.h:1910

◆ TIMER_ID_REFRESH

#define TIMER_ID_REFRESH   9999

Definition at line 665 of file explorerband.cpp.

◆ UNIMPLEMENTED

#define UNIMPLEMENTED   DbgPrint("%s is UNIMPLEMENTED!\n", __FUNCTION__)

Definition at line 17 of file explorerband.cpp.

Typedef Documentation

◆ LPPIDLDATA

◆ PIDLDATA

Function Documentation

◆ _ILIsSpecialFolder()

◆ GetCurrentLocationFromView()

static HRESULT GetCurrentLocationFromView ( IShellView View,
PIDLIST_ABSOLUTE pidl 
)
static

Definition at line 189 of file explorerband.cpp.

190{
194 if (SUCCEEDED(hr) && SUCCEEDED(hr = pfv->GetFolder(IID_PPV_ARG(IShellFolder, &psf))))
195 hr = SHELL_GetIDListFromObject(psf, &pidl);
196 return hr;
197}
HRESULT SHELL_GetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl)
Definition: utility.cpp:21
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)

Referenced by CExplorerBand::GetCurrentLocation().

◆ GetDisplayName()

HRESULT GetDisplayName ( LPCITEMIDLIST  pidlDirectory,
TCHAR szDisplayName,
UINT  cchMax,
DWORD  uFlags 
)

Definition at line 46 of file explorerband.cpp.

47{
48 IShellFolder *pShellFolder = NULL;
49 LPCITEMIDLIST pidlRelative = NULL;
50 STRRET str;
51 HRESULT hr;
52
53 if (pidlDirectory == NULL || szDisplayName == NULL)
54 {
55 return E_FAIL;
56 }
57
58 hr = SHBindToParent(pidlDirectory, IID_PPV_ARG(IShellFolder, &pShellFolder), &pidlRelative);
59
60 if (SUCCEEDED(hr))
61 {
62 hr = pShellFolder->GetDisplayNameOf(pidlRelative,uFlags,&str);
63 if (SUCCEEDED(hr))
64 {
65 hr = StrRetToBuf(&str,pidlDirectory,szDisplayName,cchMax);
66 }
67 pShellFolder->Release();
68 }
69 return hr;
70}
UINT cchMax
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
UINT uFlags
Definition: api.c:59
HRESULT GetDisplayNameOf([in] PCUITEMID_CHILD pidl, [in] SHGDNF uFlags, [out] STRRET *lpName)
ULONG Release()
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
Definition: pidl.c:1350
const WCHAR * str
#define StrRetToBuf
Definition: shlwapi.h:1769
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42