ReactOS 0.4.16-dev-109-gf4cb10f
IShellBrowserImpl Struct Reference

Implementation of IShellBrowser and ICommDlgBrowser interfaces for explorer child windows (see ShellBrowserChild) More...

#include <shellbrowserimpl.h>

Inheritance diagram for IShellBrowserImpl:
Collaboration diagram for IShellBrowserImpl:

Public Member Functions

 IShellBrowserImpl ()
 
virtual ~IShellBrowserImpl ()
 
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID iid, void **ppvObject)
 
virtual ULONG STDMETHODCALLTYPE AddRef ()
 
virtual ULONG STDMETHODCALLTYPE Release ()
 
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp (BOOL fEnterMode)
 
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand (IShellView *ppshv)
 
virtual HRESULT STDMETHODCALLTYPE OnStateChange (IShellView *ppshv, ULONG uChange)
 
virtual HRESULT STDMETHODCALLTYPE IncludeObject (IShellView *ppshv, LPCITEMIDLIST pidl)
 
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB (HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
virtual HRESULT STDMETHODCALLTYPE SetMenuSB (HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject)
 
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB (HMENU hmenuShared)
 
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB (LPCOLESTR lpszStatusText)
 
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB (BOOL fEnable)
 
virtual HRESULT STDMETHODCALLTYPE BrowseObject (LPCITEMIDLIST pidl, UINT wFlags)
 
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream (DWORD grfMode, LPSTREAM *ppStrm)
 
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive (IShellView *ppshv)
 
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems (LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags)
 
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB (LPMSG lpmsg, WORD wID)
 
virtual HRESULT STDMETHODCALLTYPE QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
 
virtual HRESULT STDMETHODCALLTYPE QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
 
virtual HRESULT STDMETHODCALLTYPE Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
 
- Public Member Functions inherited from IShellBrowser
HRESULT InsertMenusSB ([in] HMENU hmenuShared, [in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
HRESULT SetMenuSB ([in] HMENU hmenuShared, [in] HOLEMENU holemenuReserved, [in] HWND hwndActiveObject)
 
HRESULT RemoveMenusSB ([in] HMENU hmenuShared)
 
HRESULT SetStatusTextSB ([in, unique] LPCOLESTR pszStatusText)
 
HRESULT EnableModelessSB ([in] BOOL fEnable)
 
HRESULT TranslateAcceleratorSB ([in] MSG *pmsg, [in] WORD wID)
 
HRESULT BrowseObject ([in] PCUIDLIST_RELATIVE pidl, [in] UINT wFlags)
 
HRESULT GetViewStateStream ([in] DWORD grfMode, [out] IStream **ppStrm)
 
HRESULT GetControlWindow ([in] UINT id, [out] HWND *phwnd)
 
HRESULT SendControlMsg ([in] UINT id, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [in] LRESULT *pret)
 
HRESULT QueryActiveShellView ([out] IShellView **ppshv)
 
HRESULT OnViewWindowActive ([in] IShellView *pshv)
 
HRESULT SetToolbarItems ([in] LPTBBUTTONSB lpButtons, [in] UINT nButtons, [in] UINT uFlags)
 
- Public Member Functions inherited from IOleWindow
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from ICommDlgBrowser
HRESULT OnDefaultCommand ([in] IShellView *shv)
 
HRESULT OnStateChange ([in] IShellView *shv, [in] ULONG uChange)
 
HRESULT IncludeObject ([in] IShellView *shv, [in] PCUITEMID_CHILD pidl)
 
- Public Member Functions inherited from IServiceProvider
HRESULT QueryService ([in] REFGUID guidService, [in] REFIID riid, [out] void **ppvObject)
 
HRESULT RemoteQueryService ([in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 
HRESULT QueryStatus ([in, unique] const GUID *pguidCmdGroup, [in] ULONG cCmds, [in, out, size_is(cCmds)] OLECMD prgCmds[], [in, out, unique] OLECMDTEXT *pCmdText)
 
HRESULT Exec ([in, unique] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in, unique] VARIANT *pvaIn, [in, out, unique] VARIANT *pvaOut)
 

Public Attributes

IShellBrowser IShellBrowser_iface
 
ICommDlgBrowser ICommDlgBrowser_iface
 
IServiceProvider IServiceProvider_iface
 
LONG ref
 
HWND hwndOwner
 

Protected Member Functions

virtual HRESULT OnDefaultCommand (LPIDA pida)
 

Protected Attributes

DWORD _dwRef
 

Additional Inherited Members

- Public Types inherited from IShellBrowser
typedef IShellBrowserLPSHELLBROWSER
 
typedef LPARAM LPTBBUTTONSB
 
typedef LPTBBUTTON LPTBBUTTONSB
 
- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from ICommDlgBrowser
typedef ICommDlgBrowserLPCOMMDLGBROWSER
 
- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 
- Public Types inherited from IOleCommandTarget
enum  OLECMDF {
  OLECMDF_SUPPORTED = 0x1 , OLECMDF_ENABLED = 0x2 , OLECMDF_LATCHED = 0x4 , OLECMDF_NINCHED = 0x8 ,
  OLECMDF_INVISIBLE = 0x10 , OLECMDF_DEFHIDEONCTXTMENU = 0x20
}
 
enum  OLECMDTEXTF { OLECMDTEXTF_NONE = 0 , OLECMDTEXTF_NAME = 1 , OLECMDTEXTF_STATUS = 2 }
 
enum  OLECMDEXECOPT { OLECMDEXECOPT_DODEFAULT = 0 , OLECMDEXECOPT_PROMPTUSER = 1 , OLECMDEXECOPT_DONTPROMPTUSER = 2 , OLECMDEXECOPT_SHOWHELP = 3 }
 
enum  OLECMDID {
  OLECMDID_OPEN = 1 , OLECMDID_NEW = 2 , OLECMDID_SAVE = 3 , OLECMDID_SAVEAS = 4 ,
  OLECMDID_SAVECOPYAS = 5 , OLECMDID_PRINT = 6 , OLECMDID_PRINTPREVIEW = 7 , OLECMDID_PAGESETUP = 8 ,
  OLECMDID_SPELL = 9 , OLECMDID_PROPERTIES = 10 , OLECMDID_CUT = 11 , OLECMDID_COPY = 12 ,
  OLECMDID_PASTE = 13 , OLECMDID_PASTESPECIAL = 14 , OLECMDID_UNDO = 15 , OLECMDID_REDO = 16 ,
  OLECMDID_SELECTALL = 17 , OLECMDID_CLEARSELECTION = 18 , OLECMDID_ZOOM = 19 , OLECMDID_GETZOOMRANGE = 20 ,
  OLECMDID_UPDATECOMMANDS = 21 , OLECMDID_REFRESH = 22 , OLECMDID_STOP = 23 , OLECMDID_HIDETOOLBARS = 24 ,
  OLECMDID_SETPROGRESSMAX = 25 , OLECMDID_SETPROGRESSPOS = 26 , OLECMDID_SETPROGRESSTEXT = 27 , OLECMDID_SETTITLE = 28 ,
  OLECMDID_SETDOWNLOADSTATE = 29 , OLECMDID_STOPDOWNLOAD = 30 , OLECMDID_ONTOOLBARACTIVATED = 31 , OLECMDID_FIND = 32 ,
  OLECMDID_DELETE = 33 , OLECMDID_HTTPEQUIV = 34 , OLECMDID_HTTPEQUIV_DONE = 35 , OLECMDID_ENABLE_INTERACTION = 36 ,
  OLECMDID_ONUNLOAD = 37 , OLECMDID_PROPERTYBAG2 = 38 , OLECMDID_PREREFRESH = 39 , OLECMDID_SHOWSCRIPTERROR = 40 ,
  OLECMDID_SHOWMESSAGE = 41 , OLECMDID_SHOWFIND = 42 , OLECMDID_SHOWPAGESETUP = 43 , OLECMDID_SHOWPRINT = 44 ,
  OLECMDID_CLOSE = 45 , OLECMDID_ALLOWUILESSSAVEAS = 46 , OLECMDID_DONTDOWNLOADCSS = 47 , OLECMDID_UPDATEPAGESTATUS = 48 ,
  OLECMDID_PRINT2 = 49 , OLECMDID_PRINTPREVIEW2 = 50 , OLECMDID_SETPRINTTEMPLATE = 51 , OLECMDID_GETPRINTTEMPLATE = 52 ,
  OLECMDID_PAGEACTIONBLOCKED = 55 , OLECMDID_PAGEACTIONUIQUERY = 56 , OLECMDID_FOCUSVIEWCONTROLS = 57 , OLECMDID_FOCUSVIEWCONTROLSQUERY = 58 ,
  OLECMDID_SHOWPAGEACTIONMENU = 59 , OLECMDID_ADDTRAVELENTRY = 60 , OLECMDID_UPDATETRAVELENTRY = 61 , OLECMDID_UPDATEBACKFORWARDSTATE = 62 ,
  OLECMDID_OPTICAL_ZOOM = 63 , OLECMDID_OPTICAL_GETZOOMRANGE = 64 , OLECMDID_WINDOWSTATECHANGED = 65 , OLECMDID_ACTIVEXINSTALLSCOPE = 66 ,
  OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67 , OLECMDID_SHOWTASKDLG = 68 , OLECMDID_POPSTATEEVENT = 69 , OLECMDID_VIEWPORT_MODE = 70 ,
  OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71 , OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72 , OLECMDID_USER_OPTICAL_ZOOM = 73 , OLECMDID_PAGEAVAILABLE = 74 ,
  OLECMDID_GETUSERSCALABLE = 75 , OLECMDID_UPDATE_CARET = 76 , OLECMDID_ENABLE_VISIBILITY = 77 , OLECMDID_MEDIA_PLAYBACK = 78
}
 
typedef IOleCommandTargetLPOLECOMMANDTARGET
 
typedef enum IOleCommandTarget::OLECMDF OLECMDF
 
typedef struct IOleCommandTarget::_tagOLECMD OLECMD
 
typedef struct IOleCommandTarget::_tagOLECMDTEXT OLECMDTEXT
 
typedef enum IOleCommandTarget::OLECMDTEXTF OLECMDTEXTF
 
typedef enum IOleCommandTarget::OLECMDEXECOPT OLECMDEXECOPT
 
typedef enum IOleCommandTarget::OLECMDID OLECMDID
 

Detailed Description

Implementation of IShellBrowser and ICommDlgBrowser interfaces for explorer child windows (see ShellBrowserChild)

Definition at line 50 of file filedlgbrowser.c.

Constructor & Destructor Documentation

◆ IShellBrowserImpl()

IShellBrowserImpl::IShellBrowserImpl ( )
inline

Definition at line 43 of file shellbrowserimpl.h.

44 : _dwRef(0)
45 {
46 }

◆ ~IShellBrowserImpl()

virtual IShellBrowserImpl::~IShellBrowserImpl ( )
inlinevirtual

Definition at line 48 of file shellbrowserimpl.h.

49 {
50 }

Member Function Documentation

◆ AddRef()

virtual ULONG STDMETHODCALLTYPE IShellBrowserImpl::AddRef ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 54 of file shellbrowserimpl.h.

54{return ++_dwRef;}

◆ BrowseObject()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::BrowseObject ( LPCITEMIDLIST  pidl,
UINT  wFlags 
)
inlinevirtual

Definition at line 79 of file shellbrowserimpl.h.

79{return E_NOTIMPL;}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ ContextSensitiveHelp()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::ContextSensitiveHelp ( BOOL  fEnterMode)
inlinevirtual

Implements IOleWindow.

Definition at line 58 of file shellbrowserimpl.h.

58{return E_NOTIMPL;}

◆ EnableModelessSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::EnableModelessSB ( BOOL  fEnable)
inlinevirtual

Implements IShellBrowser.

Definition at line 78 of file shellbrowserimpl.h.

78{return E_NOTIMPL;}

◆ Exec()

HRESULT IShellBrowserImpl::Exec ( const GUID pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)
virtual
Todo:
implement IOleCommandTarget

Implements IOleCommandTarget.

Definition at line 89 of file shellbrowserimpl.cpp.

90{
91 return E_FAIL;
92}
#define E_FAIL
Definition: ddrawi.h:102

◆ GetViewStateStream()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::GetViewStateStream ( DWORD  grfMode,
LPSTREAM ppStrm 
)
inlinevirtual

Definition at line 80 of file shellbrowserimpl.h.

80{return E_NOTIMPL;}

◆ IncludeObject()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::IncludeObject ( IShellView ppshv,
LPCITEMIDLIST  pidl 
)
inlinevirtual

Definition at line 68 of file shellbrowserimpl.h.

69 { //filter files if needed
70 return S_OK;
71 }
#define S_OK
Definition: intsafe.h:52

◆ InsertMenusSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::InsertMenusSB ( HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
)
inlinevirtual

Implements IShellBrowser.

Definition at line 74 of file shellbrowserimpl.h.

74{return E_NOTIMPL;}

◆ OnDefaultCommand() [1/2]

HRESULT IShellBrowserImpl::OnDefaultCommand ( IShellView ppshv)
virtual

Implements ICommDlgBrowser.

Definition at line 96 of file shellbrowserimpl.cpp.

97{
99
100 HRESULT hr = ppshv->GetItemObject(SVGIO_SELECTION, IID_IDataObject, (void**)&selection);
101 if (FAILED(hr))
102 return hr;
103
104 PIDList pidList;
105
106 hr = pidList.GetData(selection);
107 if (FAILED(hr)) {
108 selection->Release();
109 return hr;
110 }
111
112 hr = OnDefaultCommand(pidList);
113
114 selection->Release();
115
116 return hr;
117}
int selection
Definition: ctm.c:92
HRESULT GetItemObject([in] UINT uItem, [in] REFIID riid, [out, iid_is(riid)] void **ppv)
#define FAILED(hr)
Definition: intsafe.h:51
const GUID IID_IDataObject
HRESULT hr
Definition: shlfolder.c:183
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(IShellView *ppshv)
list of PIDLs
HRESULT GetData(IDataObject *selection)

Referenced by OnDefaultCommand().

◆ OnDefaultCommand() [2/2]

virtual HRESULT IShellBrowserImpl::OnDefaultCommand ( LPIDA  pida)
inlineprotectedvirtual

Reimplemented in DesktopWindow, and ShellBrowser.

Definition at line 95 of file shellbrowserimpl.h.

95{return E_NOTIMPL;}

◆ OnStateChange()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::OnStateChange ( IShellView ppshv,
ULONG  uChange 
)
inlinevirtual

Implements ICommDlgBrowser.

Definition at line 63 of file shellbrowserimpl.h.

64 { //handle selection, rename, focus if needed
65 return E_NOTIMPL;
66 }

◆ OnViewWindowActive()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::OnViewWindowActive ( IShellView ppshv)
inlinevirtual

Implements IShellBrowser.

Definition at line 81 of file shellbrowserimpl.h.

81{return E_NOTIMPL;}

◆ QueryInterface()

HRESULT IShellBrowserImpl::QueryInterface ( REFIID  iid,
void **  ppvObject 
)
virtual

Implements IUnknown.

Definition at line 34 of file shellbrowserimpl.cpp.

35{
36 if (!ppvObject)
37 return E_POINTER;
38
39 if (iid == IID_IUnknown)
40 *ppvObject = (IUnknown*)static_cast<IShellBrowser*>(this);
41 else if (iid == IID_IOleWindow)
42 *ppvObject = static_cast<IOleWindow*>(this);
43 else if (iid == IID_IShellBrowser)
44 *ppvObject = static_cast<IShellBrowser*>(this);
45 else if (iid == IID_ICommDlgBrowser)
46 *ppvObject = static_cast<ICommDlgBrowser*>(this);
47 else if (iid == IID_IServiceProvider)
48 *ppvObject = static_cast<IServiceProvider*>(this);
49 else {
50 *ppvObject = NULL;
51 return E_NOINTERFACE;
52 }
53
54 return S_OK;
55}
const GUID IID_IUnknown
#define NULL
Definition: types.h:112
const GUID IID_IOleWindow
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364
#define E_POINTER
Definition: winerror.h:2365

◆ QueryService()

HRESULT IShellBrowserImpl::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
)
virtual
Todo:
use guidService

Implements IServiceProvider.

Definition at line 57 of file shellbrowserimpl.cpp.

58{
59 if (!ppvObject)
60 return E_POINTER;
61
63
64 if (riid == IID_IUnknown)
65 *ppvObject = (IUnknown*)static_cast<IShellBrowser*>(this);
66 else if (riid == IID_IOleWindow)
67 *ppvObject = static_cast<IOleWindow*>(this);
68 else if (riid == IID_IShellBrowser)
69 *ppvObject = static_cast<IShellBrowser*>(this);
70 else if (riid == IID_ICommDlgBrowser)
71 *ppvObject = static_cast<ICommDlgBrowser*>(this);
72 else if (riid == IID_IServiceProvider)
73 *ppvObject = static_cast<IServiceProvider*>(this);
74 else if (riid == IID_IOleCommandTarget)
75 *ppvObject = static_cast<IOleCommandTarget*>(this);
76 else {
77 *ppvObject = NULL;
78 return E_NOINTERFACE;
79 }
80
81 return S_OK;
82}
REFIID riid
Definition: atlbase.h:39

◆ QueryStatus()

HRESULT IShellBrowserImpl::QueryStatus ( const GUID pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT pCmdText 
)
virtual
Todo:
implement IOleCommandTarget

Implements IOleCommandTarget.

Definition at line 84 of file shellbrowserimpl.cpp.

85{
86 return E_FAIL;
87}

◆ Release()

virtual ULONG STDMETHODCALLTYPE IShellBrowserImpl::Release ( void  )
inlinevirtual

Implements IUnknown.

Definition at line 55 of file shellbrowserimpl.h.

55{return --_dwRef;} //not heap based

◆ RemoveMenusSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::RemoveMenusSB ( HMENU  hmenuShared)
inlinevirtual

Implements IShellBrowser.

Definition at line 76 of file shellbrowserimpl.h.

76{return E_NOTIMPL;}

◆ SetMenuSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetMenuSB ( HMENU  hmenuShared,
HOLEMENU  holemenuReserved,
HWND  hwndActiveObject 
)
inlinevirtual

Implements IShellBrowser.

Definition at line 75 of file shellbrowserimpl.h.

75{return E_NOTIMPL;}

◆ SetStatusTextSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetStatusTextSB ( LPCOLESTR  lpszStatusText)
inlinevirtual

Implements IShellBrowser.

Definition at line 77 of file shellbrowserimpl.h.

77{return E_NOTIMPL;}

◆ SetToolbarItems()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::SetToolbarItems ( LPTBBUTTON  lpButtons,
UINT  nButtons,
UINT  uFlags 
)
inlinevirtual

Definition at line 82 of file shellbrowserimpl.h.

82{return E_NOTIMPL;}

◆ TranslateAcceleratorSB()

virtual HRESULT STDMETHODCALLTYPE IShellBrowserImpl::TranslateAcceleratorSB ( LPMSG  lpmsg,
WORD  wID 
)
inlinevirtual

Definition at line 83 of file shellbrowserimpl.h.

83{return S_OK;}

Member Data Documentation

◆ _dwRef

DWORD IShellBrowserImpl::_dwRef
protected

Definition at line 93 of file shellbrowserimpl.h.

Referenced by AddRef(), and Release().

◆ hwndOwner

HWND IShellBrowserImpl::hwndOwner

Definition at line 57 of file filedlgbrowser.c.

◆ ICommDlgBrowser_iface

ICommDlgBrowser IShellBrowserImpl::ICommDlgBrowser_iface

Definition at line 54 of file filedlgbrowser.c.

◆ IServiceProvider_iface

IServiceProvider IShellBrowserImpl::IServiceProvider_iface

Definition at line 55 of file filedlgbrowser.c.

◆ IShellBrowser_iface

IShellBrowser IShellBrowserImpl::IShellBrowser_iface

Definition at line 53 of file filedlgbrowser.c.

Referenced by IShellBrowserImpl_Construct().

◆ ref

LONG IShellBrowserImpl::ref

Definition at line 56 of file filedlgbrowser.c.

Referenced by IShellBrowserImpl_Construct().


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