ReactOS 0.4.16-dev-1247-g7d8d8a6
CShellBrowser Class Reference
Inheritance diagram for CShellBrowser:
Collaboration diagram for CShellBrowser:

Classes

class  barInfo
 

Public Member Functions

 CShellBrowser ()
 
 ~CShellBrowser ()
 
HRESULT Initialize ()
 
UINT ApplyNewBrowserFlag (UINT Flags)
 
HRESULT OpenNewBrowserWindow (LPCITEMIDLIST pidl, UINT SbspFlags)
 
HRESULT CreateRelativeBrowsePIDL (LPCITEMIDLIST relative, UINT SbspFlags, LPITEMIDLIST *ppidl)
 
HRESULT BrowseToPIDL (LPCITEMIDLIST pidl, long flags)
 
HRESULT BrowseToPath (IShellFolder *newShellFolder, LPCITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags)
 
void SaveViewState ()
 
HRESULT GetMenuBand (REFIID riid, void **shellMenu)
 
HRESULT GetBaseBar (bool vertical, REFIID riid, void **theBaseBar)
 
BOOL IsBandLoaded (const CLSID clsidBand, bool vertical, DWORD *pdwBandID)
 
HRESULT ShowBand (const CLSID &classID, bool vertical)
 
HRESULT NavigateToParent ()
 
HRESULT DoFolderOptions ()
 
HRESULT ApplyBrowserDefaultFolderSettings (IShellView *pSV)
 
void RepositionBars ()
 
HRESULT BuildExplorerBandMenu ()
 
HRESULT BuildExplorerBandCategory (HMENU hBandsMenu, CATID category, DWORD dwPos, UINT *nbFound)
 
BOOL IsBuiltinBand (CLSID &bandID)
 
virtual WNDPROC GetWindowProc () override
 
HRESULT FireEvent (DISPID dispIdMember, int argCount, VARIANT *arguments)
 
HRESULT FireNavigateComplete (const wchar_t *newDirectory)
 
HRESULT FireCommandStateChange (bool newState, int commandID)
 
HRESULT FireCommandStateChangeAll ()
 
HRESULT FireEvent_VBOOL (DISPID dispIdMember, VARIANT_BOOL Param1)
 
HRESULT UpdateForwardBackState ()
 
HRESULT UpdateUpState ()
 
void UpdateGotoMenu (HMENU theMenu)
 
void UpdateViewMenu (HMENU theMenu)
 
HRESULT IsInternetToolbarBandShown (UINT ITId)
 
void RefreshCabinetState ()
 
void UpdateWindowTitle ()
 
void SaveITBarLayout ()
 
HWND GetTopLevelBrowserWindow ()
 
STDMETHOD() GetBorderDW (IUnknown *punkObj, LPRECT prcBorder) override
 
STDMETHOD() RequestBorderSpaceDW (IUnknown *punkObj, LPCBORDERWIDTHS pbw) override
 
STDMETHOD() SetBorderSpaceDW (IUnknown *punkObj, LPCBORDERWIDTHS pbw) override
 
STDMETHOD() QueryStatus (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
 
STDMETHOD() Exec (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
 
STDMETHOD() GetWindow (HWND *lphwnd) override
 
STDMETHOD() ContextSensitiveHelp (BOOL fEnterMode) override
 
STDMETHOD() InsertMenusSB (HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) override
 
STDMETHOD() SetMenuSB (HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) override
 
STDMETHOD() RemoveMenusSB (HMENU hmenuShared) override
 
STDMETHOD() SetStatusTextSB (LPCOLESTR pszStatusText) override
 
STDMETHOD() EnableModelessSB (BOOL fEnable) override
 
STDMETHOD() TranslateAcceleratorSB (MSG *pmsg, WORD wID) override
 
STDMETHOD() BrowseObject (LPCITEMIDLIST pidl, UINT wFlags) override
 
STDMETHOD() GetViewStateStream (DWORD grfMode, IStream **ppStrm) override
 
STDMETHOD() GetControlWindow (UINT id, HWND *lphwnd) override
 
STDMETHOD() SendControlMsg (UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret) override
 
STDMETHOD() QueryActiveShellView (IShellView **ppshv) override
 
STDMETHOD() OnViewWindowActive (IShellView *ppshv) override
 
STDMETHOD() SetToolbarItems (LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) override
 
STDMETHOD() DragEnter (IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
 
STDMETHOD() DragOver (DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
 
STDMETHOD() DragLeave () override
 
STDMETHOD() Drop (IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
 
STDMETHOD() QueryService (REFGUID guidService, REFIID riid, void **ppvObject) override
 
STDMETHOD() GetPropertyBag (long flags, REFIID riid, void **ppvObject) override
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo) override
 
STDMETHOD() GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override
 
STDMETHOD() GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override
 
STDMETHOD() Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
 
STDMETHOD() GetParentSite (IOleInPlaceSite **ppipsite) override
 
STDMETHOD() SetTitle (IShellView *psv, LPCWSTR pszName) override
 
STDMETHOD() GetTitle (IShellView *psv, LPWSTR pszName, DWORD cchName) override
 
STDMETHOD() GetOleObject (IOleObject **ppobjv) override
 
STDMETHOD() GetTravelLog (ITravelLog **pptl) override
 
STDMETHOD() ShowControlWindow (UINT id, BOOL fShow) override
 
STDMETHOD() IsControlWindowShown (UINT id, BOOL *pfShown) override
 
STDMETHOD() IEGetDisplayName (LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags) override
 
STDMETHOD() IEParseDisplayName (UINT uiCP, LPCWSTR pwszPath, LPITEMIDLIST *ppidlOut) override
 
STDMETHOD() DisplayParseError (HRESULT hres, LPCWSTR pwszPath) override
 
STDMETHOD() NavigateToPidl (LPCITEMIDLIST pidl, DWORD grfHLNF) override
 
STDMETHOD() SetNavigateState (BNSTATE bnstate) override
 
STDMETHOD() GetNavigateState (BNSTATE *pbnstate) override
 
STDMETHOD() NotifyRedirect (IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse) override
 
STDMETHOD() UpdateWindowList () override
 
STDMETHOD() UpdateBackForwardState () override
 
STDMETHOD() SetFlags (DWORD dwFlags, DWORD dwFlagMask) override
 
STDMETHOD() GetFlags (DWORD *pdwFlags) override
 
STDMETHOD() CanNavigateNow (void) override
 
STDMETHOD() GetPidl (LPITEMIDLIST *ppidl) override
 
STDMETHOD() SetReferrer (LPCITEMIDLIST pidl) override
 
 STDMETHOD_ (DWORD, GetBrowserIndex)() override
 
STDMETHOD() GetBrowserByIndex (DWORD dwID, IUnknown **ppunk) override
 
STDMETHOD() GetHistoryObject (IOleObject **ppole, IStream **pstm, IBindCtx **ppbc) override
 
STDMETHOD() SetHistoryObject (IOleObject *pole, BOOL fIsLocalAnchor) override
 
STDMETHOD() CacheOLEServer (IOleObject *pole) override
 
STDMETHOD() GetSetCodePage (VARIANT *pvarIn, VARIANT *pvarOut) override
 
STDMETHOD() OnHttpEquiv (IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut) override
 
STDMETHOD() GetPalette (HPALETTE *hpal) override
 
STDMETHOD() RegisterWindow (BOOL fForceRegister, int swc) override
 
 STDMETHOD_ (LRESULT, WndProcBS)(HWND hwnd
 
STDMETHOD() SetAsDefFolderSettings () override
 
STDMETHOD() GetViewRect (RECT *prc) override
 
STDMETHOD() OnSize (WPARAM wParam) override
 
STDMETHOD() OnCreate (struct tagCREATESTRUCTW *pcs) override
 
 STDMETHOD_ (LRESULT, OnCommand)(WPARAM wParam
 
STDMETHOD() OnDestroy () override
 
 STDMETHOD_ (LRESULT, OnNotify)(struct tagNMHDR *pnm) override
 
STDMETHOD() OnSetFocus () override
 
STDMETHOD() OnFrameWindowActivateBS (BOOL fActive) override
 
STDMETHOD() ReleaseShellView () override
 
STDMETHOD() ActivatePendingView () override
 
STDMETHOD() CreateViewWindow (IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd) override
 
STDMETHOD() CreateBrowserPropSheetExt (REFIID riid, void **ppv) override
 
STDMETHOD() GetViewWindow (HWND *phwndView) override
 
STDMETHOD() GetBaseBrowserData (LPCBASEBROWSERDATA *pbbd) override
 
 STDMETHOD_ (LPBASEBROWSERDATA, PutBaseBrowserData)(void) override
 
STDMETHOD() InitializeTravelLog (ITravelLog *ptl, DWORD dw) override
 
STDMETHOD() SetTopBrowser () override
 
STDMETHOD() Offline (int iCmd) override
 
STDMETHOD() AllowViewResize (BOOL f) override
 
STDMETHOD() SetActivateState (UINT u) override
 
STDMETHOD() UpdateSecureLockIcon (int eSecureLock) override
 
STDMETHOD() InitializeDownloadManager () override
 
STDMETHOD() InitializeTransitionSite () override
 
STDMETHOD() _Initialize (HWND hwnd, IUnknown *pauto) override
 
STDMETHOD() _CancelPendingNavigationAsync (void) override
 
STDMETHOD() _CancelPendingView () override
 
STDMETHOD() _MaySaveChanges () override
 
STDMETHOD() _PauseOrResumeView (BOOL fPaused) override
 
STDMETHOD() _DisableModeless () override
 
STDMETHOD() _NavigateToPidl (LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) override
 
STDMETHOD() _TryShell2Rename (IShellView *psv, LPCITEMIDLIST pidlNew) override
 
STDMETHOD() _SwitchActivationNow () override
 
STDMETHOD() _ExecChildren (IUnknown *punkBar, BOOL fBroadcast, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut) override
 
STDMETHOD() _SendChildren (HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam) override
 
STDMETHOD() GetFolderSetData (struct tagFolderSetData *pfsd) override
 
STDMETHOD() _OnFocusChange (UINT itb) override
 
STDMETHOD() v_ShowHideChildWindows (BOOL fChildOnly) override
 
 STDMETHOD_ (UINT, _get_itbLastFocus)() override
 
STDMETHOD() _put_itbLastFocus (UINT itbLastFocus) override
 
STDMETHOD() _UIActivateView (UINT uState) override
 
STDMETHOD() _GetViewBorderRect (RECT *prc) override
 
STDMETHOD() _UpdateViewRectSize () override
 
STDMETHOD() _ResizeNextBorder (UINT itb) override
 
STDMETHOD() _ResizeView () override
 
STDMETHOD() _GetEffectiveClientArea (LPRECT lprectBorder, HMONITOR hmon) override
 
 STDMETHOD_ (IStream *, v_GetViewStream)(LPCITEMIDLIST pidl
 
 STDMETHOD_ (LRESULT, ForwardViewMsg)(UINT uMsg
 
STDMETHOD() SetAcceleratorMenu (HACCEL hacc) override
 
 STDMETHOD_ (int, _GetToolbarCount)() override
 
 STDMETHOD_ (LPTOOLBARITEM, _GetToolbarItem)(int itb) override
 
STDMETHOD() _SaveToolbars (IStream *pstm) override
 
STDMETHOD() _LoadToolbars (IStream *pstm) override
 
STDMETHOD() _CloseAndReleaseToolbars (BOOL fClose) override
 
STDMETHOD() v_MayGetNextToolbarFocus (LPMSG lpMsg, UINT itbNext, int citb, LPTOOLBARITEM *pptbi, HWND *phwnd) override
 
STDMETHOD() _ResizeNextBorderHelper (UINT itb, BOOL bUseHmonitor) override
 
 STDMETHOD_ (UINT, _FindTBar)(IUnknown *punkSrc) override
 
STDMETHOD() _SetFocus (LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg) override
 
STDMETHOD() v_MayTranslateAccelerator (MSG *pmsg) override
 
STDMETHOD() _GetBorderDWHelper (IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor) override
 
STDMETHOD() v_CheckZoneCrossing (LPCITEMIDLIST pidl) override
 
STDMETHOD() GoBack () override
 
STDMETHOD() GoForward () override
 
STDMETHOD() GoHome () override
 
STDMETHOD() GoSearch () override
 
STDMETHOD() Navigate (BSTR URL, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) override
 
STDMETHOD() Refresh () override
 
STDMETHOD() Refresh2 (VARIANT *Level) override
 
STDMETHOD() Stop () override
 
STDMETHOD() get_Application (IDispatch **ppDisp) override
 
STDMETHOD() get_Parent (IDispatch **ppDisp) override
 
STDMETHOD() get_Container (IDispatch **ppDisp) override
 
STDMETHOD() get_Document (IDispatch **ppDisp) override
 
STDMETHOD() get_TopLevelContainer (VARIANT_BOOL *pBool) override
 
STDMETHOD() get_Type (BSTR *Type) override
 
STDMETHOD() get_Left (long *pl) override
 
STDMETHOD() put_Left (long Left) override
 
STDMETHOD() get_Top (long *pl) override
 
STDMETHOD() put_Top (long Top) override
 
STDMETHOD() get_Width (long *pl) override
 
STDMETHOD() put_Width (long Width) override
 
STDMETHOD() get_Height (long *pl) override
 
STDMETHOD() put_Height (long Height) override
 
STDMETHOD() get_LocationName (BSTR *LocationName) override
 
STDMETHOD() get_LocationURL (BSTR *LocationURL) override
 
STDMETHOD() get_Busy (VARIANT_BOOL *pBool) override
 
STDMETHOD() Quit () override
 
STDMETHOD() ClientToWindow (int *pcx, int *pcy) override
 
STDMETHOD() PutProperty (BSTR Property, VARIANT vtValue) override
 
STDMETHOD() GetProperty (BSTR Property, VARIANT *pvtValue) override
 
STDMETHOD() get_Name (BSTR *Name) override
 
STDMETHOD() get_HWND (SHANDLE_PTR *pHWND) override
 
STDMETHOD() get_FullName (BSTR *FullName) override
 
STDMETHOD() get_Path (BSTR *Path) override
 
STDMETHOD() get_Visible (VARIANT_BOOL *pBool) override
 
STDMETHOD() put_Visible (VARIANT_BOOL Value) override
 
STDMETHOD() get_StatusBar (VARIANT_BOOL *pBool) override
 
STDMETHOD() put_StatusBar (VARIANT_BOOL Value) override
 
STDMETHOD() get_StatusText (BSTR *StatusText) override
 
STDMETHOD() put_StatusText (BSTR StatusText) override
 
STDMETHOD() get_ToolBar (int *Value) override
 
STDMETHOD() put_ToolBar (int Value) override
 
STDMETHOD() get_MenuBar (VARIANT_BOOL *Value) override
 
STDMETHOD() put_MenuBar (VARIANT_BOOL Value) override
 
STDMETHOD() get_FullScreen (VARIANT_BOOL *pbFullScreen) override
 
STDMETHOD() put_FullScreen (VARIANT_BOOL bFullScreen) override
 
STDMETHOD() Navigate2 (VARIANT *URL, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) override
 
STDMETHOD() QueryStatusWB (OLECMDID cmdID, OLECMDF *pcmdf) override
 
STDMETHOD() ExecWB (OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
 
STDMETHOD() ShowBrowserBar (VARIANT *pvaClsid, VARIANT *pvarShow, VARIANT *pvarSize) override
 
STDMETHOD() get_ReadyState (READYSTATE *plReadyState) override
 
STDMETHOD() get_Offline (VARIANT_BOOL *pbOffline) override
 
STDMETHOD() put_Offline (VARIANT_BOOL bOffline) override
 
STDMETHOD() get_Silent (VARIANT_BOOL *pbSilent) override
 
STDMETHOD() put_Silent (VARIANT_BOOL bSilent) override
 
STDMETHOD() get_RegisterAsBrowser (VARIANT_BOOL *pbRegister) override
 
STDMETHOD() put_RegisterAsBrowser (VARIANT_BOOL bRegister) override
 
STDMETHOD() get_RegisterAsDropTarget (VARIANT_BOOL *pbRegister) override
 
STDMETHOD() put_RegisterAsDropTarget (VARIANT_BOOL bRegister) override
 
STDMETHOD() get_TheaterMode (VARIANT_BOOL *pbRegister) override
 
STDMETHOD() put_TheaterMode (VARIANT_BOOL bRegister) override
 
STDMETHOD() get_AddressBar (VARIANT_BOOL *Value) override
 
STDMETHOD() put_AddressBar (VARIANT_BOOL Value) override
 
STDMETHOD() get_Resizable (VARIANT_BOOL *Value) override
 
STDMETHOD() put_Resizable (VARIANT_BOOL Value) override
 
STDMETHOD() FindWindowByIndex (DWORD dwID, IUnknown **ppunk) override
 
STDMETHOD() GetWindowData (IStream *pStream, LPWINDOWDATA pWinData) override
 
STDMETHOD() LoadHistoryPosition (LPWSTR pszUrlLocation, DWORD dwPosition) override
 
STDMETHOD() GetClassID (CLSID *pClassID) override
 
STDMETHOD() LoadHistory (IStream *pStream, IBindCtx *pbc) override
 
STDMETHOD() SaveHistory (IStream *pStream) override
 
STDMETHOD() SetPositionCookie (DWORD dwPositioncookie) override
 
STDMETHOD() GetPositionCookie (DWORD *pdwPositioncookie) override
 
LRESULT OnCreate (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnDestroy (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSize (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnInitMenuPopup (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSetFocus (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT RelayMsgToShellView (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSettingChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSysColorChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnDisplayChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnDisplayChangeDelayed (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnClose (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnFolderOptions (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnMapNetworkDrive (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnDisconnectNetworkDrive (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnAboutReactOS (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnGoBack (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnGoForward (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnGoUpLevel (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnBackspace (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnGoHome (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnAddToFavorites (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnOrganizeFavorites (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleFullscreen (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleStatusBarVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleToolbarLock (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleToolbarBandVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleAddressBandVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleLinksBandVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleTextLabels (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToolbarCustomize (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnGoTravel (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnRefresh (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnExplorerBar (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT RelayCommands (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnCabinetStateChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSettingsChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnGetSettingsPtr (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnAppCommand (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
HRESULT OnSearch ()
 
- Public Member Functions inherited from ATL::CWindowImpl< CShellBrowser, CWindow, CFrameWinTraits >
HWND Create (HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
 
- Public Member Functions inherited from ATL::CWindowImplBaseT< TBase, TWinTraits >
 CWindowImplBaseT ()
 
virtual void OnFinalMessage (HWND)
 
BOOL SubclassWindow (HWND hWnd)
 
HWND UnsubclassWindow (BOOL bForce=FALSE)
 
virtual WNDPROC GetWindowProc ()
 
LRESULT DefWindowProc (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
HWND Create (HWND hWndParent, _U_RECT rect, LPCTSTR szWindowName, DWORD dwStyle, DWORD dwExStyle, _U_MENUorID MenuOrID, ATOM atom, LPVOID lpCreateParam)
 
- Public Member Functions inherited from ATL::CWindowImplRoot< TBase >
 CWindowImplRoot ()
 
virtual ~CWindowImplRoot ()
 
- Public Member Functions inherited from ATL::CWindow
 CWindow (HWND hWnd=NULL)
 
 operator HWND () const
 
UINT ArrangeIconicWindows ()
 
void Attach (HWND hWndNew)
 
HDC BeginPaint (LPPAINTSTRUCT lpPaint)
 
BOOL BringWindowToTop ()
 
BOOL CenterWindow (HWND hWndCenter=NULL)
 
BOOL ChangeClipboardChain (HWND hWndNewNext)
 
BOOL CheckDlgButton (int nIDButton, UINT nCheck)
 
BOOL CheckRadioButton (int nIDFirstButton, int nIDLastButton, int nIDCheckButton)
 
HWND ChildWindowFromPoint (POINT point) const
 
HWND ChildWindowFromPointEx (POINT point, UINT uFlags) const
 
BOOL ClientToScreen (LPPOINT lpPoint) const
 
BOOL ClientToScreen (LPRECT lpRect) const
 
HWND Create (LPCTSTR lpstrWndClass, HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
 
BOOL CreateCaret (HBITMAP pBitmap)
 
BOOL CreateGrayCaret (int nWidth, int nHeight)
 
BOOL CreateSolidCaret (int nWidth, int nHeight)
 
HDWP DeferWindowPos (HDWP hWinPosInfo, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags)
 
BOOL DestroyWindow ()
 
HWND Detach ()
 
int DlgDirList (LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT nFileType)
 
int DlgDirListComboBox (LPTSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT nFileType)
 
BOOL DlgDirSelect (LPTSTR lpString, int nCount, int nIDListBox)
 
BOOL DlgDirSelectComboBox (LPTSTR lpString, int nCount, int nIDComboBox)
 
void DragAcceptFiles (BOOL bAccept=TRUE)
 
BOOL DrawMenuBar ()
 
BOOL EnableScrollBar (UINT uSBFlags, UINT uArrowFlags=ESB_ENABLE_BOTH)
 
BOOL EnableWindow (BOOL bEnable=TRUE)
 
void EndPaint (LPPAINTSTRUCT lpPaint)
 
BOOL FlashWindow (BOOL bInvert)
 
BOOL GetClientRect (LPRECT lpRect) const
 
HDC GetDC ()
 
HDC GetDCEx (HRGN hRgnClip, DWORD flags)
 
HWND GetDescendantWindow (int nID) const
 
HRESULT GetDlgControl (int nID, REFIID iid, void **ppCtrl)
 
int GetDlgCtrlID () const
 
HRESULT GetDlgHost (int nID, REFIID iid, void **ppHost)
 
HWND GetDlgItem (_In_ int nID) const
 
UINT GetDlgItemInt (_In_ int nID, _Out_opt_ BOOL *lpTrans=NULL, _In_ BOOL bSigned=TRUE) const
 
UINT GetDlgItemText (_In_ int nID, _Out_writes_to_(nMaxCount, return+1) LPTSTR lpStr, _In_ int nMaxCount) const
 
BOOL GetDlgItemText (_In_ int nID, _Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
 
DWORD GetExStyle () const
 
HFONT GetFont () const
 
DWORD GetHotKey () const
 
HICON GetIcon (BOOL bBigIcon=TRUE) const
 
HWND GetLastActivePopup () const
 
HMENU GetMenu () const
 
HWND GetNextDlgGroupItem (HWND hWndCtl, BOOL bPrevious=FALSE) const
 
HWND GetNextDlgTabItem (HWND hWndCtl, BOOL bPrevious=FALSE) const
 
CWindow GetParent () const
 
BOOL GetScrollInfo (int nBar, LPSCROLLINFO lpScrollInfo)
 
BOOL GetScrollPos (int nBar)
 
BOOL GetScrollRange (int nBar, LPINT lpMinPos, LPINT lpMaxPos) const
 
DWORD GetStyle () const
 
HMENU GetSystemMenu (BOOL bRevert)
 
HWND GetTopLevelParent () const
 
HWND GetTopLevelWindow () const
 
HWND GetTopWindow () const
 
BOOL GetUpdateRect (LPRECT lpRect, BOOL bErase=FALSE)
 
int GetUpdateRgn (HRGN hRgn, BOOL bErase=FALSE)
 
HWND GetWindow (UINT nCmd) const
 
DWORD GetWindowContextHelpId () const
 
HDC GetWindowDC ()
 
LONG GetWindowLong (int nIndex) const
 
LONG_PTR GetWindowLongPtr (int nIndex) const
 
BOOL GetWindowPlacement (WINDOWPLACEMENT *lpwndpl) const
 
DWORD GetWindowProcessID ()
 
BOOL GetWindowRect (LPRECT lpRect) const
 
int GetWindowRgn (HRGN hRgn)
 
int GetWindowText (_Out_writes_to_(nMaxCount, return+1) LPTSTR lpszStringBuf, _In_ int nMaxCount) const
 
BOOL GetWindowText (_Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
 
int GetWindowTextLength () const
 
DWORD GetWindowThreadID ()
 
WORD GetWindowWord (int nIndex) const
 
void GotoDlgCtrl (HWND hWndCtrl) const
 
BOOL HideCaret ()
 
BOOL HiliteMenuItem (HMENU hMenu, UINT uHiliteItem, UINT uHilite)
 
BOOL Invalidate (BOOL bErase=TRUE)
 
BOOL InvalidateRect (LPCRECT lpRect, BOOL bErase=TRUE)
 
void InvalidateRgn (HRGN hRgn, BOOL bErase=TRUE)
 
BOOL IsChild (const HWND hWnd) const
 
BOOL IsDialogMessage (LPMSG lpMsg)
 
UINT IsDlgButtonChecked (int nIDButton) const
 
BOOL IsIconic () const
 
BOOL IsParentDialog ()
 
BOOL IsWindow () const
 
BOOL IsWindowEnabled () const
 
BOOL IsWindowVisible () const
 
BOOL IsWindowUnicode ()
 
BOOL IsZoomed () const
 
BOOL KillTimer (UINT_PTR nIDEvent)
 
BOOL LockWindowUpdate (BOOL bLock=TRUE)
 
int MapWindowPoints (HWND hWndTo, LPPOINT lpPoint, UINT nCount) const
 
int MapWindowPoints (HWND hWndTo, LPRECT lpRect) const
 
int MessageBox (LPCTSTR lpszText, LPCTSTR lpszCaption=NULL, UINT nType=MB_OK)
 
BOOL ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 
BOOL ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 
BOOL MoveWindow (int x, int y, int nWidth, int nHeight, BOOL bRepaint=TRUE)
 
void NextDlgCtrl () const
 
BOOL OpenClipboard ()
 
BOOL PostMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void PrevDlgCtrl () const
 
void Print (HDC hDC, DWORD dwFlags) const
 
void PrintClient (HDC hDC, DWORD dwFlags) const
 
BOOL RedrawWindow (LPCRECT lpRectUpdate=NULL, HRGN hRgnUpdate=NULL, UINT flags=RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE)
 
int ReleaseDC (HDC hDC)
 
BOOL ResizeClient (int nWidth, int nHeight, BOOL bRedraw=FALSE)
 
BOOL ScreenToClient (LPPOINT lpPoint) const
 
BOOL ScrollWindow (int xAmount, int yAmount, LPCRECT lpRect=NULL, LPCRECT lpClipRect=NULL)
 
int ScrollWindowEx (int dx, int dy, LPCRECT lpRectScroll, LPCRECT lpRectClip, HRGN hRgnUpdate, LPRECT lpRectUpdate, UINT flags)
 
LRESULT SendDlgItemMessage (int nID, UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
LRESULT SendMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void SendMessageToDescendants (UINT message, WPARAM wParam=0, LPARAM lParam=0, BOOL bDeep=TRUE)
 
BOOL SendNotifyMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
HWND SetActiveWindow ()
 
HWND SetCapture ()
 
HWND SetClipboardViewer ()
 
int SetDlgCtrlID (int nID)
 
BOOL SetDlgItemInt (int nID, UINT nValue, BOOL bSigned=TRUE)
 
BOOL SetDlgItemText (int nID, LPCTSTR lpszString)
 
HWND SetFocus ()
 
void SetFont (HFONT hFont, BOOL bRedraw=TRUE)
 
int SetHotKey (WORD wVirtualKeyCode, WORD wModifiers)
 
HICON SetIcon (HICON hIcon, BOOL bBigIcon=TRUE)
 
BOOL SetMenu (HMENU hMenu)
 
HWND SetParent (HWND hWndNewParent)
 
void SetRedraw (BOOL bRedraw=TRUE)
 
int SetScrollInfo (int nBar, LPSCROLLINFO lpScrollInfo, BOOL bRedraw=TRUE)
 
int SetScrollPos (int nBar, int nPos, BOOL bRedraw=TRUE)
 
BOOL SetScrollRange (int nBar, int nMinPos, int nMaxPos, BOOL bRedraw=TRUE)
 
UINT_PTR SetTimer (UINT_PTR nIDEvent, UINT nElapse, void(CALLBACK *lpfnTimer)(HWND, UINT, UINT_PTR, DWORD)=NULL)
 
BOOL SetWindowContextHelpId (DWORD dwContextHelpId)
 
LONG SetWindowLong (int nIndex, LONG dwNewLong)
 
LONG_PTR SetWindowLongPtr (int nIndex, LONG_PTR dwNewLong)
 
BOOL SetWindowPlacement (const WINDOWPLACEMENT *lpwndpl)
 
BOOL SetWindowPos (HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
 
int SetWindowRgn (HRGN hRgn, BOOL bRedraw=FALSE)
 
BOOL SetWindowText (LPCTSTR lpszString)
 
WORD SetWindowWord (int nIndex, WORD wNewWord)
 
BOOL ShowCaret ()
 
BOOL ShowOwnedPopups (BOOL bShow=TRUE)
 
BOOL ShowScrollBar (UINT nBar, BOOL bShow=TRUE)
 
BOOL ShowWindow (int nCmdShow)
 
BOOL ShowWindowAsync (int nCmdShow)
 
BOOL UpdateWindow ()
 
BOOL ValidateRect (LPCRECT lpRect)
 
BOOL ValidateRgn (HRGN hRgn)
 
BOOL WinHelp (LPCTSTR lpszHelp, UINT nCmd=HELP_CONTEXT, DWORD dwData=0)
 
- Public Member Functions inherited from ATL::CMessageMap
virtual BOOL ProcessWindowMessage (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult, DWORD dwMsgMapID)=0
 
- 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 ()
 
- 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)
 
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
HRESULT DragEnter ([in, unique] IDataObject *pDataObj, [in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
 
HRESULT DragOver ([in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
 
HRESULT DragLeave ()
 
HRESULT Drop ([in, unique] IDataObject *pDataObj, [in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
 
- 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)
 
- Public Member Functions inherited from IProfferServiceImpl< CShellBrowser >
STDMETHODIMP ProfferService (REFGUID rguidService, IServiceProvider *psp, DWORD *pdwCookie)
 
STDMETHODIMP RevokeService (DWORD dwCookie)
 
HRESULT QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
 
HRESULT ProfferService ([in] REFGUID service, [in] IServiceProvider *pService, [out] DWORD *pCookie)
 
HRESULT RevokeService ([in] DWORD cookie)
 
HRESULT FindWindowByIndex ([in] DWORD dwID, [out] IUnknown **ppunk)
 
HRESULT GetWindowData ([in] IStream *pStream, [out] LPWINDOWDATA pWinData)
 
HRESULT LoadHistoryPosition ([in] LPWSTR pszUrlLocation, [in] DWORD dwPosition)
 
HRESULT LoadHistory ([in] IStream *pStream, [in] IBindCtx *pbc)
 
HRESULT SaveHistory ([in] IStream *pStream)
 
HRESULT SetPositionCookie ([in] DWORD dwPositioncookie)
 
HRESULT GetPositionCookie ([out] DWORD *pdwPositioncookie)
 
HRESULT GetClassID ([out] CLSID *pClassID)
 
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 Member Functions inherited from IBrowserService2
LRESULT WndProcBS ([in] HWND hwnd, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT SetAsDefFolderSettings ()
 
HRESULT GetViewRect ([in, out] RECT *prc)
 
HRESULT OnSize ([in] WPARAM wParam)
 
HRESULT OnCreate ([in] struct tagCREATESTRUCTW *pcs)
 
LRESULT OnCommand ([in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT OnDestroy ()
 
LRESULT OnNotify ([in, out] struct tagNMHDR *pnm)
 
HRESULT OnSetFocus ()
 
HRESULT OnFrameWindowActivateBS ([in] BOOL fActive)
 
HRESULT ReleaseShellView ()
 
HRESULT ActivatePendingView ()
 
HRESULT CreateViewWindow ([in] IShellView *psvNew, [in] IShellView *psvOld, [out] LPRECT prcView, [out] HWND *phwnd)
 
HRESULT CreateBrowserPropSheetExt ([in] REFIID riid, [out] void **ppv)
 
HRESULT GetViewWindow ([out] HWND *phwndView)
 
HRESULT GetBaseBrowserData ([in, out] LPCBASEBROWSERDATA *pbbd)
 
LPBASEBROWSERDATA PutBaseBrowserData ()
 
HRESULT InitializeTravelLog ([in] ITravelLog *ptl, [in] DWORD dw)
 
HRESULT SetTopBrowser ()
 
HRESULT Offline ([in] int iCmd)
 
HRESULT AllowViewResize ([in] BOOL f)
 
HRESULT SetActivateState ([in] UINT u)
 
HRESULT UpdateSecureLockIcon ([in] int eSecureLock)
 
HRESULT InitializeDownloadManager ()
 
HRESULT InitializeTransitionSite ()
 
HRESULT _Initialize ([in] HWND hwnd, [in] IUnknown *pauto)
 
HRESULT _CancelPendingNavigationAsync ()
 
HRESULT _CancelPendingView ()
 
HRESULT _MaySaveChanges ()
 
HRESULT _PauseOrResumeView ([in] BOOL fPaused)
 
HRESULT _DisableModeless ()
 
HRESULT _NavigateToPidl ([in] PCIDLIST_ABSOLUTE pidl, [in] DWORD grfHLNF, [in] DWORD dwFlags)
 
HRESULT _TryShell2Rename ([in] IShellView *psv, [in] PCIDLIST_ABSOLUTE pidlNew)
 
HRESULT _SwitchActivationNow ()
 
HRESULT _ExecChildren ([in] IUnknown *punkBar, [in] BOOL fBroadcast, [in] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in] VARIANTARG *pvarargIn, [in, out] VARIANTARG *pvarargOut)
 
HRESULT _SendChildren ([in] HWND hwndBar, [in] BOOL fBroadcast, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT GetFolderSetData ([in, out] struct tagFolderSetData *pfsd)
 
HRESULT _OnFocusChange ([in] UINT itb)
 
HRESULT v_ShowHideChildWindows ([in] BOOL fChildOnly)
 
UINT _get_itbLastFocus ()
 
HRESULT _put_itbLastFocus ([in] UINT itbLastFocus)
 
HRESULT _UIActivateView ([in] UINT uState)
 
HRESULT _GetViewBorderRect ([in, out] RECT *prc)
 
HRESULT _UpdateViewRectSize ()
 
HRESULT _ResizeNextBorder ([in] UINT itb)
 
HRESULT _ResizeView ()
 
HRESULT _GetEffectiveClientArea ([in, out] LPRECT lprectBorder, [in] HMONITOR hmon)
 
IStreamv_GetViewStream ([in] PCIDLIST_ABSOLUTE pidl, [in] DWORD grfMode, [in] LPCWSTR pwszName)
 
LRESULT ForwardViewMsg ([in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT SetAcceleratorMenu ([in] HACCEL hacc)
 
int _GetToolbarCount ()
 
LPTOOLBARITEM _GetToolbarItem ([in] int itb)
 
HRESULT _SaveToolbars ([in] IStream *pstm)
 
HRESULT _LoadToolbars ([in] IStream *pstm)
 
HRESULT _CloseAndReleaseToolbars ([in] BOOL fClose)
 
HRESULT v_MayGetNextToolbarFocus ([in] LPMSG lpMsg, [in] UINT itbNext, [in] int citb, [out] LPTOOLBARITEM *pptbi, [out] HWND *phwnd)
 
HRESULT _ResizeNextBorderHelper ([in] UINT itb, [in] BOOL bUseHmonitor)
 
UINT _FindTBar ([in] IUnknown *punkSrc)
 
HRESULT _SetFocus ([in] LPTOOLBARITEM ptbi, [in] HWND hwnd, [in] LPMSG lpMsg)
 
HRESULT v_MayTranslateAccelerator ([in] MSG *pmsg)
 
HRESULT _GetBorderDWHelper ([in] IUnknown *punkSrc, [in] LPRECT lprectBorder, [in] BOOL bUseHmonitor)
 
HRESULT v_CheckZoneCrossing ([in, out] PCIDLIST_ABSOLUTE pidl)
 
- Public Member Functions inherited from IBrowserService
HRESULT GetParentSite ([out] IOleInPlaceSite **ppipsite)
 
HRESULT SetTitle ([in] IShellView *psv, [in] LPCWSTR pszName)
 
HRESULT GetTitle ([in] IShellView *psv, [out, size_is(cchName)] LPWSTR pszName, [in] DWORD cchName)
 
HRESULT GetOleObject ([out] IOleObject **ppobjv)
 
HRESULT GetTravelLog ([out, optional] ITravelLog **pptl)
 
HRESULT ShowControlWindow ([in] UINT id, [in] BOOL fShow)
 
HRESULT IsControlWindowShown ([in] UINT id, [out] BOOL *pfShown)
 
HRESULT IEGetDisplayName ([in] PCIDLIST_ABSOLUTE pidl, [out] LPWSTR pwszName, [in] UINT uFlags)
 
HRESULT IEParseDisplayName ([in] UINT uiCP, [in] LPCWSTR pwszPath, [out] PIDLIST_ABSOLUTE *ppidlOut)
 
HRESULT DisplayParseError ([in] HRESULT hres, [in] LPCWSTR pwszPath)
 
HRESULT NavigateToPidl ([in] PCIDLIST_ABSOLUTE pidl, [in] DWORD grfHLNF)
 
HRESULT SetNavigateState ([in] BNSTATE bnstate)
 
HRESULT GetNavigateState ([out] BNSTATE *pbnstate)
 
HRESULT NotifyRedirect ([in] IShellView *psv, [in] PCIDLIST_ABSOLUTE pidl, [out] BOOL *pfDidBrowse)
 
HRESULT UpdateWindowList ()
 
HRESULT UpdateBackForwardState ()
 
HRESULT SetFlags ([in] DWORD dwFlags, [in] DWORD dwFlagMask)
 
HRESULT GetFlags ([out] DWORD *pdwFlags)
 
HRESULT CanNavigateNow ()
 
HRESULT GetPidl ([out] PIDLIST_ABSOLUTE *ppidl)
 
HRESULT SetReferrer ([in] PCIDLIST_ABSOLUTE pidl)
 
DWORD GetBrowserIndex ()
 
HRESULT GetBrowserByIndex ([in] DWORD dwID, [out] IUnknown **ppunk)
 
HRESULT GetHistoryObject ([out] IOleObject **ppole, [out] IStream **pstm, [out] IBindCtx **ppbc)
 
HRESULT SetHistoryObject ([in] IOleObject *pole, [in] BOOL fIsLocalAnchor)
 
HRESULT CacheOLEServer ([in] IOleObject *pole)
 
HRESULT GetSetCodePage ([in] VARIANT *pvarIn, [out] VARIANT *pvarOut)
 
HRESULT OnHttpEquiv ([in] IShellView *psv, [in] BOOL fDone, [in] VARIANT *pvarargIn, [out] VARIANT *pvarargOut)
 
HRESULT GetPalette ([out] HPALETTE *hpal)
 
HRESULT RegisterWindow ([in] BOOL fForceRegister, [in] int swc)
 
- Public Member Functions inherited from ATL::IConnectionPointContainerImpl< CShellBrowser >
STDMETHOD() EnumConnectionPoints (IEnumConnectionPoints **ppEnum)
 
STDMETHOD() FindConnectionPoint (REFIID riid, IConnectionPoint **ppCP)
 
HRESULT EnumConnectionPoints ([out] IEnumConnectionPoints **ppEnum)
 
HRESULT FindConnectionPoint ([in] REFIID riid, [out] IConnectionPoint **ppCP)
 
- Public Member Functions inherited from MyIConnectionPointImpl< CShellBrowser, &DIID_DWebBrowserEvents2 >
STDMETHODIMP Advise (IUnknown *pUnkSink, DWORD *pdwCookie)
 
- Public Member Functions inherited from MyIConnectionPointImpl< CShellBrowser, &DIID_DWebBrowserEvents >
STDMETHODIMP Advise (IUnknown *pUnkSink, DWORD *pdwCookie)
 

Static Public Member Functions

static LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static ATL::CWndClassInfoGetWndClassInfo ()
 
- Static Public Member Functions inherited from ATL::CWindowImpl< CShellBrowser, CWindow, CFrameWinTraits >
static LPCTSTR GetWndCaption ()
 
- Static Public Member Functions inherited from ATL::CWindowImplBaseT< TBase, TWinTraits >
static DWORD GetWndStyle (DWORD dwStyle)
 
static DWORD GetWndExStyle (DWORD dwExStyle)
 
static LRESULT CALLBACK StartWindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
- Static Public Member Functions inherited from ATL::CWindow
static LPCTSTR GetWndClassName ()
 
static LRESULT SendMessage (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 
- 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

UINT uMsg
 
UINT WPARAM wParam
 
UINT WPARAM LPARAM lParam override
 
LPARAM lParam override
 
DWORD grfMode
 
DWORD LPCWSTR pwszName override
 
WPARAM wParam
 
WPARAM LPARAM lParam override
 
- Public Attributes inherited from ATL::CWindowImplBaseT< TBase, TWinTraits >
WNDPROC m_pfnSuperWindowProc
 
- Public Attributes inherited from ATL::CWindowImplRoot< TBase >
CWndProcThunk m_thunk
 
const _ATL_MSGm_pCurrentMsg
 
DWORD m_dwState
 
- Public Attributes inherited from ATL::CWindow
HWND m_hWnd
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 
- Public Attributes inherited from IDropTarget
const DWORD MK_ALT = 0x20
 
const DWORD DROPEFFECT_NONE = 0
 
const DWORD DROPEFFECT_COPY = 1
 
const DWORD DROPEFFECT_MOVE = 2
 
const DWORD DROPEFFECT_LINK = 4
 
const DWORD DROPEFFECT_SCROLL = 0x80000000
 
const DWORD DD_DEFSCROLLINSET = 11
 
const DWORD DD_DEFSCROLLDELAY = 50
 
const DWORD DD_DEFSCROLLINTERVAL = 50
 
const DWORD DD_DEFDRAGDELAY = 200
 
const DWORD DD_DEFDRAGMINDIST = 2
 
- Public Attributes inherited from IProfferServiceImpl< CShellBrowser >
IProfferService IProfferService_iface
 
LONG ref
 

Private Types

enum  { BSF_ROS_REGBROWSER = 0x04 , BSF_ROS_KIOSK = 0x08 }
 
enum  { FSF_MBAR = 0x1 , FSF_SBAR = 0x2 , FSF_RESIZE = 0x4 , FSF_MAXIMIZED = 0x8 }
 

Private Attributes

HWND fCurrentShellViewWindow
 
CComPtr< IShellFolderfCurrentShellFolder
 
CComPtr< IShellViewfCurrentShellView
 
LPITEMIDLIST fCurrentDirectoryPIDL
 
HWND fStatusBar
 
CToolbarProxy fToolbarProxy
 
barInfo fClientBars [3]
 
CComPtr< ITravelLogfTravelLog
 
HMENU fCurrentMenuBar
 
GUID fCurrentVertBar
 
IOleObjectfHistoryObject
 
IStreamfHistoryStream
 
IBindCtxfHistoryBindContext
 
HDSA menuDsa
 
HACCEL m_hAccel
 
ShellSettings m_settings
 
SBFOLDERSETTINGS m_deffoldersettings
 
DWORD m_BrowserSvcFlags
 
bool m_Destroyed
 
BYTE m_NonFullscreenState
 

Static Private Attributes

static const int BIInternetToolbar = 0
 
static const int BIVerticalBaseBar = 1
 
static const int BIHorizontalBaseBar = 2
 

Additional Inherited Members

- Public Types inherited from ATL::CWindowImplRoot< TBase >
enum  { WINSTATE_DESTROYED = 0x00000001 }
 
- 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 IDropTarget
typedef IDropTargetLPDROPTARGET
 
- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 
- Public Types inherited from IPersistHistory
typedef IPersistHistoryLPPERSISTHISTORY
 
- Public Types inherited from IPersist
typedef IPersistLPPERSIST
 
- 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
 
- Public Types inherited from IConnectionPointContainer
typedef IConnectionPointContainerPCONNECTIONPOINTCONTAINER
 
typedef IConnectionPointContainerLPCONNECTIONPOINTCONTAINER
 
- Static Public Attributes inherited from ATL::CWindow
static RECT rcDefault
 

Detailed Description

Definition at line 261 of file shellbrowser.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
BSF_ROS_REGBROWSER 
BSF_ROS_KIOSK 

Definition at line 280 of file shellbrowser.cpp.

280{ BSF_ROS_REGBROWSER = 0x04, BSF_ROS_KIOSK = 0x08 }; // Custom values

◆ anonymous enum

anonymous enum
private
Enumerator
FSF_MBAR 
FSF_SBAR 
FSF_RESIZE 
FSF_MAXIMIZED 

Definition at line 322 of file shellbrowser.cpp.

Constructor & Destructor Documentation

◆ CShellBrowser()

CShellBrowser::CShellBrowser ( )

Definition at line 752 of file shellbrowser.cpp.

753{
754 m_BrowserSvcFlags = BSF_RESIZABLE | BSF_CANMAXIMIZE;
755 m_Destroyed = false;
767}
HWND fCurrentShellViewWindow
DWORD m_BrowserSvcFlags
SBFOLDERSETTINGS m_deffoldersettings
IStream * fHistoryStream
IOleObject * fHistoryObject
ShellSettings m_settings
LPITEMIDLIST fCurrentDirectoryPIDL
STDMETHOD() SetTopBrowser() override
IBindCtx * fHistoryBindContext
#define NULL
Definition: types.h:112
CabinetStateSettings gCabinetState
Definition: settings.cpp:10
void Load()
Definition: settings.cpp:24

◆ ~CShellBrowser()

CShellBrowser::~CShellBrowser ( )

Definition at line 769 of file shellbrowser.cpp.

770{
771 if (menuDsa)
773}
BOOL WINAPI DSA_Destroy(HDSA hdsa)
Definition: dsa.c:103

Member Function Documentation

◆ _CancelPendingNavigationAsync()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingNavigationAsync ( void  )
override

Implements IBrowserService2.

Definition at line 2965 of file shellbrowser.cpp.

2966{
2967 return E_NOTIMPL;
2968}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ _CancelPendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView ( )
override

Implements IBrowserService2.

Definition at line 2970 of file shellbrowser.cpp.

2971{
2972 return E_NOTIMPL;
2973}

◆ _CloseAndReleaseToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars ( BOOL  fClose)
override

Implements IBrowserService2.

Definition at line 3117 of file shellbrowser.cpp.

3118{
3119 return E_NOTIMPL;
3120}

◆ _DisableModeless()

HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless ( )
override

Implements IBrowserService2.

Definition at line 2985 of file shellbrowser.cpp.

2986{
2987 return E_NOTIMPL;
2988}

◆ _ExecChildren()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ExecChildren ( IUnknown punkBar,
BOOL  fBroadcast,
const GUID pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANTARG pvarargIn,
VARIANTARG pvarargOut 
)
override

Implements IBrowserService2.

Definition at line 3015 of file shellbrowser.cpp.

3017{
3018 return E_NOTIMPL;
3019}

◆ _GetBorderDWHelper()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetBorderDWHelper ( IUnknown punkSrc,
LPRECT  lprectBorder,
BOOL  bUseHmonitor 
)
override

Implements IBrowserService2.

Definition at line 3157 of file shellbrowser.cpp.

3158{
3159 return E_NOTIMPL;
3160}

◆ _GetEffectiveClientArea()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetEffectiveClientArea ( LPRECT  lprectBorder,
HMONITOR  hmon 
)
override

Implements IBrowserService2.

Definition at line 3077 of file shellbrowser.cpp.

3078{
3079 return E_NOTIMPL;
3080}

◆ _GetViewBorderRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 3057 of file shellbrowser.cpp.

3058{
3059 return E_NOTIMPL;
3060}

◆ _Initialize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_Initialize ( HWND  hwnd,
IUnknown pauto 
)
override

Implements IBrowserService2.

Definition at line 2960 of file shellbrowser.cpp.

2961{
2962 return E_NOTIMPL;
2963}

◆ _LoadToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3112 of file shellbrowser.cpp.

3113{
3114 return E_NOTIMPL;
3115}

◆ _MaySaveChanges()

HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges ( )
override

Implements IBrowserService2.

Definition at line 2975 of file shellbrowser.cpp.

2976{
2977 return E_NOTIMPL;
2978}

◆ _NavigateToPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::_NavigateToPidl ( LPCITEMIDLIST  pidl,
DWORD  grfHLNF,
DWORD  dwFlags 
)
override

Definition at line 2990 of file shellbrowser.cpp.

2991{
2992 const UINT navflags = HLNF_NAVIGATINGBACK | HLNF_NAVIGATINGFORWARD;
2993 if ((grfHLNF & navflags) && grfHLNF != ~0ul)
2994 {
2995 UINT SbspFlags = (grfHLNF & HLNF_NAVIGATINGBACK) ? SBSP_NAVIGATEBACK : SBSP_NAVIGATEFORWARD;
2996 if (grfHLNF & SHHLNF_WRITENOHISTORY)
2997 SbspFlags |= SBSP_WRITENOHISTORY;
2998 if (grfHLNF & SHHLNF_NOAUTOSELECT)
2999 SbspFlags |= SBSP_NOAUTOSELECT;
3000 return BrowseObject(pidl, SbspFlags);
3001 }
3002 return E_NOTIMPL;
3003}
STDMETHOD() BrowseObject(LPCITEMIDLIST pidl, UINT wFlags) override
unsigned int UINT
Definition: ndis.h:50

Referenced by NavigateToPidl().

◆ _OnFocusChange()

HRESULT STDMETHODCALLTYPE CShellBrowser::_OnFocusChange ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3032 of file shellbrowser.cpp.

3033{
3034 return E_NOTIMPL;
3035}

◆ _PauseOrResumeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView ( BOOL  fPaused)
override

Implements IBrowserService2.

Definition at line 2980 of file shellbrowser.cpp.

2981{
2982 return E_NOTIMPL;
2983}

◆ _put_itbLastFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus ( UINT  itbLastFocus)
override

Implements IBrowserService2.

Definition at line 3047 of file shellbrowser.cpp.

3048{
3049 return E_NOTIMPL;
3050}

◆ _ResizeNextBorder()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3067 of file shellbrowser.cpp.

3068{
3069 return E_NOTIMPL;
3070}

◆ _ResizeNextBorderHelper()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorderHelper ( UINT  itb,
BOOL  bUseHmonitor 
)
override

Implements IBrowserService2.

Definition at line 3128 of file shellbrowser.cpp.

3129{
3130 return E_NOTIMPL;
3131}

◆ _ResizeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView ( )
override

Implements IBrowserService2.

Definition at line 3072 of file shellbrowser.cpp.

3073{
3074 return E_NOTIMPL;
3075}

◆ _SaveToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3107 of file shellbrowser.cpp.

3108{
3109 return E_NOTIMPL;
3110}

◆ _SendChildren()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SendChildren ( HWND  hwndBar,
BOOL  fBroadcast,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)
override

Implements IBrowserService2.

Definition at line 3021 of file shellbrowser.cpp.

3023{
3024 return E_NOTIMPL;
3025}

◆ _SetFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SetFocus ( LPTOOLBARITEM  ptbi,
HWND  hwnd,
LPMSG  lpMsg 
)
override

Implements IBrowserService2.

Definition at line 3138 of file shellbrowser.cpp.

3139{
3140 return E_NOTIMPL;
3141}

◆ _SwitchActivationNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow ( )
override

Implements IBrowserService2.

Definition at line 3010 of file shellbrowser.cpp.

3011{
3012 return E_NOTIMPL;
3013}

◆ _TryShell2Rename()

HRESULT STDMETHODCALLTYPE CShellBrowser::_TryShell2Rename ( IShellView psv,
LPCITEMIDLIST  pidlNew 
)
override

Definition at line 3005 of file shellbrowser.cpp.

3006{
3007 return E_NOTIMPL;
3008}

◆ _UIActivateView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView ( UINT  uState)
override

Implements IBrowserService2.

Definition at line 3052 of file shellbrowser.cpp.

3053{
3054 return E_NOTIMPL;
3055}

◆ _UpdateViewRectSize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize ( )
override

Implements IBrowserService2.

Definition at line 3062 of file shellbrowser.cpp.

3063{
3064 return E_NOTIMPL;
3065}

◆ ActivatePendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView ( )
override

Implements IBrowserService2.

Definition at line 2888 of file shellbrowser.cpp.

2889{
2890 return E_NOTIMPL;
2891}

◆ AllowViewResize()

HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize ( BOOL  f)
override

Implements IBrowserService2.

Definition at line 2935 of file shellbrowser.cpp.

2936{
2937 return E_NOTIMPL;
2938}

◆ ApplyBrowserDefaultFolderSettings()

HRESULT CShellBrowser::ApplyBrowserDefaultFolderSettings ( IShellView pSV)

Definition at line 837 of file shellbrowser.cpp.

838{
839 HRESULT hr;
840 if (pSV)
841 {
843 SBFOLDERSETTINGS &sbfs = m_deffoldersettings, defsbfs;
844 if (FAILED(pSV->GetCurrentInfo(&sbfs.FolderSettings)))
845 {
846 defsbfs.InitializeDefaults();
847 sbfs = defsbfs;
848 }
850 }
851 else
852 {
855 if (SUCCEEDED(hr))
857 }
858 return hr;
859}
static HRESULT ResetBrowserSettings()
static HRESULT SaveBrowserSettings(const SBFOLDERSETTINGS &sbfs)
HRESULT GetCurrentInfo([out] LPFOLDERSETTINGS lpfs)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
HRESULT hr
Definition: shlfolder.c:183
FOLDERSETTINGS FolderSettings
void Save()
Definition: settings.cpp:12
void Reset()
Definition: settings.h:21

Referenced by Exec(), and SetAsDefFolderSettings().

◆ ApplyNewBrowserFlag()

UINT CShellBrowser::ApplyNewBrowserFlag ( UINT  Flags)

Definition at line 861 of file shellbrowser.cpp.

862{
863 if ((Flags & (SBSP_SAMEBROWSER | SBSP_NEWBROWSER)) == SBSP_DEFBROWSER)
864 {
866 Flags |= SBSP_SAMEBROWSER; // Force if this is the first navigation or the folder tree is present
867 else
868 Flags |= (!!gCabinetState.fNewWindowMode) ^ (GetAsyncKeyState(VK_CONTROL) < 0) ? SBSP_NEWBROWSER : SBSP_SAMEBROWSER;
869 }
870 if (Flags & (SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
871 Flags = (Flags & ~SBSP_NEWBROWSER) | SBSP_SAMEBROWSER; // Force same browser for now
872 return Flags;
873}
STDMETHOD() IsControlWindowShown(UINT id, BOOL *pfShown) override
#define S_OK
Definition: intsafe.h:52
BOOL fNewWindowMode
Definition: shlobj.h:2400
#define VK_CONTROL
Definition: winuser.h:2222
SHORT WINAPI GetAsyncKeyState(_In_ int)
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170

Referenced by BrowseObject().

◆ BrowseObject()

HRESULT STDMETHODCALLTYPE CShellBrowser::BrowseObject ( LPCITEMIDLIST  pidl,
UINT  wFlags 
)
override

Definition at line 2376 of file shellbrowser.cpp.

2377{
2379 // FIXME: Should not automatically show the Explorer band
2380 if ((wFlags & SBSP_EXPLOREMODE) && !(wFlags & SBSP_NEWBROWSER))
2381 ShowBand(CLSID_ExplorerBand, true);
2382
2383 CComHeapPtr<ITEMIDLIST> pidlResolved;
2384 if (wFlags & (SBSP_RELATIVE | SBSP_PARENT))
2385 {
2386 HRESULT hr = CreateRelativeBrowsePIDL(pidl, wFlags, &pidlResolved);
2387 if (FAILED(hr))
2388 return hr;
2389 pidl = pidlResolved;
2390 }
2391
2392 if (wFlags & SBSP_NEWBROWSER)
2393 return OpenNewBrowserWindow(pidl, wFlags);
2394
2395 switch (wFlags & (SBSP_ABSOLUTE | SBSP_RELATIVE | SBSP_PARENT | SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
2396 {
2397 case SBSP_PARENT:
2398 return NavigateToParent();
2399 case SBSP_NAVIGATEBACK:
2400 return GoBack();
2401 case SBSP_NAVIGATEFORWARD:
2402 return GoForward();
2403 }
2404
2405 // TODO: SBSP_WRITENOHISTORY? SBSP_CREATENOHISTORY?
2407 if (fTravelLog)
2409 if (wFlags & SBSP_ACTIVATE_NOFOCUS)
2411 return BrowseToPIDL(pidl, flags);
2412}
UINT ApplyNewBrowserFlag(UINT Flags)
HRESULT BrowseToPIDL(LPCITEMIDLIST pidl, long flags)
HRESULT OpenNewBrowserWindow(LPCITEMIDLIST pidl, UINT SbspFlags)
HRESULT CreateRelativeBrowsePIDL(LPCITEMIDLIST relative, UINT SbspFlags, LPITEMIDLIST *ppidl)
HRESULT NavigateToParent()
CComPtr< ITravelLog > fTravelLog
STDMETHOD() GoBack() override
HRESULT ShowBand(const CLSID &classID, bool vertical)
STDMETHOD() GoForward() override
static const long BTP_ACTIVATE_NOFOCUS
static const long BTP_UPDATE_NEXT_HISTORY
static const long BTP_UPDATE_CUR_HISTORY
GLbitfield flags
Definition: glext.h:7161
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

Referenced by _NavigateToPidl(), and Navigate().

◆ BrowseToPath()

HRESULT CShellBrowser::BrowseToPath ( IShellFolder newShellFolder,
LPCITEMIDLIST  absolutePIDL,
FOLDERSETTINGS folderSettings,
long  flags 
)

Definition at line 1033 of file shellbrowser.cpp.

1035{
1036 CComPtr<IShellFolder> saveCurrentShellFolder;
1037 CComPtr<IShellView> saveCurrentShellView;
1038 CComPtr<IShellView> newShellView;
1039 CComPtr<ITravelLog> travelLog;
1040 HWND newShellViewWindow;
1041 BOOL windowUpdateIsLocked;
1042 RECT shellViewWindowBounds;
1043 HWND previousView;
1044 HCURSOR saveCursor;
1045 wchar_t newTitle[MAX_PATH];
1046 SHGDNF nameFlags;
1047 HRESULT hResult;
1048 //TODO: BOOL nohistory = m_BrowserSvcFlags & BSF_NAVNOHISTORY;
1049
1050 if (m_Destroyed)
1051 return S_FALSE;
1052
1053 if (newShellFolder == NULL)
1054 return E_INVALIDARG;
1055
1056 hResult = GetTravelLog(&travelLog);
1057 if (FAILED_UNEXPECTEDLY(hResult))
1058 return hResult;
1059
1060 if (FAILED_UNEXPECTEDLY(hResult = SHILClone(absolutePIDL, &absolutePIDL)))
1061 return hResult;
1062 CComHeapPtr<ITEMIDLIST> pidlAbsoluteClone(const_cast<LPITEMIDLIST>(absolutePIDL));
1063
1064 // update history
1066 {
1067 if (travelLog->CountEntries(static_cast<IDropTarget *>(this)) > 0)
1068 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1069 // what to do with error? Do we want to halt browse because state save failed?
1070 }
1071
1073 {
1074 SaveViewState();
1075 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
1076 }
1077
1078 // create view object
1079 hResult = newShellFolder->CreateViewObject(m_hWnd, IID_PPV_ARG(IShellView, &newShellView));
1080 if (FAILED_UNEXPECTEDLY(hResult))
1081 return hResult;
1082 previousView = fCurrentShellViewWindow;
1083
1084 // enter updating section
1085 saveCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
1086 windowUpdateIsLocked = LockWindowUpdate(TRUE);
1087 if (fCurrentShellView != NULL)
1089
1090 // set site
1091 hResult = IUnknown_SetSite(newShellView, static_cast<IDropTarget *>(this));
1092
1093 // update folder and view
1094 saveCurrentShellFolder = fCurrentShellFolder;
1095 saveCurrentShellView = fCurrentShellView;
1096 fCurrentShellFolder = newShellFolder;
1097 fCurrentShellView = newShellView;
1098
1099 // get boundary
1100 if (previousView != NULL)
1101 ::GetWindowRect(previousView, &shellViewWindowBounds);
1102 else
1103 ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds));
1104 ::MapWindowPoints(0, m_hWnd, reinterpret_cast<POINT *>(&shellViewWindowBounds), 2);
1105
1106 // update current pidl
1108 fCurrentDirectoryPIDL = pidlAbsoluteClone.Detach();
1109 /* CORE-19697: CAddressEditBox::OnWinEvent(CBN_SELCHANGE) causes CAddressEditBox to
1110 * call BrowseObject(pidlLastParsed). As part of our browsing we call FireNavigateComplete
1111 * and this in turn causes CAddressEditBox::Invoke to ILFree(pidlLastParsed)!
1112 * We then call SHBindToParent on absolutePIDL (which is really (the now invalid) pidlLastParsed) and we
1113 * end up accessing invalid memory! We therefore set absolutePIDL to be our cloned PIDL here.
1114 */
1115 absolutePIDL = fCurrentDirectoryPIDL;
1116
1117 // create view window
1118 hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings,
1119 this, &shellViewWindowBounds, &newShellViewWindow);
1120 if (FAILED_UNEXPECTEDLY(hResult) || newShellViewWindow == NULL)
1121 {
1122 fCurrentShellView = saveCurrentShellView;
1123 fCurrentShellFolder = saveCurrentShellFolder;
1125 if (windowUpdateIsLocked)
1127 SetCursor(saveCursor);
1128 return hResult;
1129 }
1130
1131 // update view window
1132 if (saveCurrentShellView != NULL)
1133 saveCurrentShellView->DestroyViewWindow();
1134 fCurrentShellViewWindow = newShellViewWindow;
1135
1136 if (previousView == NULL)
1137 {
1139 }
1140
1141 // no use
1142 saveCurrentShellView.Release();
1143 saveCurrentShellFolder.Release();
1144
1145 hResult = newShellView->UIActivate((flags & BTP_ACTIVATE_NOFOCUS) ? SVUIA_ACTIVATE_NOFOCUS : SVUIA_ACTIVATE_FOCUS);
1146
1147 // leave updating section
1148 if (windowUpdateIsLocked)
1150 SetCursor(saveCursor);
1151
1152 // update history
1154 {
1155 hResult = travelLog->AddEntry(static_cast<IDropTarget *>(this), FALSE);
1156 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1157 }
1158
1159 // completed
1160 nameFlags = SHGDN_FORADDRESSBAR | SHGDN_FORPARSING;
1161 hResult = IEGetNameAndFlags(fCurrentDirectoryPIDL, nameFlags, newTitle,
1162 sizeof(newTitle) / sizeof(wchar_t), NULL);
1163 if (SUCCEEDED(hResult))
1164 {
1165 FireNavigateComplete(newTitle);
1166 }
1167 else
1168 {
1169 FireNavigateComplete(L"ERROR");
1170 }
1171
1173
1174 LPCITEMIDLIST pidlChild;
1175 HIMAGELIST himlSmall, himlLarge;
1176
1178 hResult = SHBindToParent(absolutePIDL, IID_PPV_ARG(IShellFolder, &sf), &pidlChild);
1179 if (SUCCEEDED(hResult))
1180 {
1181 INT indexOpen;
1182 SHMapPIDLToSystemImageListIndex(sf, pidlChild, &indexOpen);
1183
1184 Shell_GetImageLists(&himlLarge, &himlSmall);
1185
1186 HICON icSmall = ImageList_GetIcon(himlSmall, indexOpen, 0);
1187 HICON icLarge = ImageList_GetIcon(himlLarge, indexOpen, 0);
1188
1189 /* Hack to make it possible to release the old icons */
1190 /* Something seems to go wrong with WM_SETICON */
1191 HICON oldSmall = (HICON)SendMessage(WM_GETICON, ICON_SMALL, 0);
1192 HICON oldLarge = (HICON)SendMessage(WM_GETICON, ICON_BIG, 0);
1193
1194 SendMessage(WM_SETICON, ICON_SMALL, reinterpret_cast<LPARAM>(icSmall));
1195 SendMessage(WM_SETICON, ICON_BIG, reinterpret_cast<LPARAM>(icLarge));
1196
1197 DestroyIcon(oldSmall);
1198 DestroyIcon(oldLarge);
1199 }
1200
1202 hResult = UpdateForwardBackState();
1203 hResult = UpdateUpState();
1204 return S_OK;
1205}
void Release()
Definition: atlcomcli.h:170
HWND m_hWnd
Definition: atlwin.h:273
HRESULT UpdateUpState()
CComPtr< IShellFolder > fCurrentShellFolder
HRESULT FireNavigateComplete(const wchar_t *newDirectory)
CComPtr< IShellView > fCurrentShellView
void UpdateWindowTitle()
HRESULT UpdateForwardBackState()
STDMETHOD() GetTravelLog(ITravelLog **pptl) override
HRESULT FireCommandStateChangeAll()
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
HRESULT IEGetNameAndFlags(LPITEMIDLIST pidl, SHGDNF uFlags, LPWSTR pszBuf, UINT cchBuf, SFGAOF *rgfInOut)
HICON WINAPI ImageList_GetIcon(HIMAGELIST himl, INT i, UINT fStyle)
Definition: imagelist.c:1981
#define MAX_PATH
Definition: compat.h:34
HRESULT SHILClone(_In_opt_ LPCITEMIDLIST pidl, _Outptr_ LPITEMIDLIST *ppidl)
Definition: utils.cpp:133
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
Definition: ordinal.c:1411
#define FAILED_UNEXPECTEDLY
Definition: utils.cpp:30
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
Definition: iconcache.cpp:689
int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder *sh, LPCITEMIDLIST pidl, int *pIndex)
Definition: iconcache.cpp:772
HRESULT CreateViewObject([in] HWND hwndOwner, [in] REFIID riid, [out, iid_is(riid)] void **ppvOut)
static HICON
Definition: imagelist.c:80
#define L(x)
Definition: ntvdm.h:50
void WINAPI ILFree(LPITEMIDLIST pidl)
Definition: pidl.c:1044
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
Definition: pidl.c:1497
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
#define ICON_BIG
Definition: tnclass.cpp:51
#define ICON_SMALL
Definition: tnclass.cpp:48
int32_t INT
Definition: typedefs.h:58
#define ZeroMemory
Definition: winbase.h:1753
LONG_PTR LPARAM
Definition: windef.h:208
HICON HCURSOR
Definition: windef.h:299
#define S_FALSE
Definition: winerror.h:2357
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI LockWindowUpdate(_In_opt_ HWND)
#define SendMessage
Definition: winuser.h:5928
#define LoadCursor
Definition: winuser.h:5897
#define IDC_WAIT
Definition: winuser.h:697
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2390
#define WM_SETREDRAW
Definition: winuser.h:1635
#define IID_PPV_ARG(Itype, ppType)

Referenced by BrowseToPIDL().

◆ BrowseToPIDL()

HRESULT CShellBrowser::BrowseToPIDL ( LPCITEMIDLIST  pidl,
long  flags 
)

Definition at line 907 of file shellbrowser.cpp.

908{
909 CComPtr<IShellFolder> newFolder;
911 HRESULT hResult;
912 CLSID clsid;
913 BOOL HasIconViewType;
914
915 // called by shell view to browse to new folder
916 // also called by explorer band to navigate to new folder
917 hResult = SHBindToFolder(pidl, &newFolder);
918 if (FAILED_UNEXPECTEDLY(hResult))
919 return hResult;
920 // HACK & FIXME: Get view mode from shellbag when fully implemented.
921 IUnknown_GetClassID(newFolder, &clsid);
922 HasIconViewType = clsid == CLSID_MyComputer || clsid == CLSID_ControlPanel ||
923 clsid == CLSID_ShellDesktop;
924
925 if (HasIconViewType)
926 newFolderSettings.ViewMode = FVM_ICON;
927 hResult = BrowseToPath(newFolder, pidl, &newFolderSettings, flags);
928 if (FAILED_UNEXPECTEDLY(hResult))
929 return hResult;
930 return S_OK;
931}
HRESULT BrowseToPath(IShellFolder *newShellFolder, LPCITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags)
HRESULT WINAPI SHBindToFolder(LPCITEMIDLIST path, IShellFolder **newFolder)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
Definition: ordinal.c:1457
REFCLSID clsid
Definition: msctf.c:82
@ FVM_ICON
Definition: shobjidl.idl:679

Referenced by BrowseObject(), LoadHistory(), Navigate2(), and NavigateToParent().

◆ BuildExplorerBandCategory()

HRESULT CShellBrowser::BuildExplorerBandCategory ( HMENU  hBandsMenu,
CATID  category,
DWORD  dwPos,
UINT nbFound 
)

Definition at line 1899 of file shellbrowser.cpp.

1900{
1901 HRESULT hr;
1902 CComPtr<IEnumGUID> pEnumGUID;
1903 WCHAR wszBandName[MAX_PATH];
1904 WCHAR wszBandGUID[MAX_PATH];
1905 WCHAR wRegKey[MAX_PATH];
1906 UINT cBands;
1907 DWORD dwRead;
1908 DWORD dwDataSize;
1909 GUID iter;
1910 MenuBandInfo mbi;
1911
1912 mbi.fVertical = IsEqualGUID(category, CATID_InfoBand);
1913 cBands = 0;
1914 hr = SHEnumClassesOfCategories(1, &category, 0, NULL, &pEnumGUID);
1916 {
1917 return hr;
1918 }
1919 do
1920 {
1921 pEnumGUID->Next(1, &iter, &dwRead);
1922 if (dwRead)
1923 {
1924 // Get the band name
1925 if (IsBuiltinBand(iter))
1926 continue;
1927 if (!StringFromGUID2(iter, wszBandGUID, MAX_PATH))
1928 continue;
1929 StringCchPrintfW(wRegKey, MAX_PATH, L"CLSID\\%s", wszBandGUID);
1930 dwDataSize = MAX_PATH;
1931 SHGetValue(HKEY_CLASSES_ROOT, wRegKey, NULL, NULL, wszBandName, &dwDataSize);
1932
1933 mbi.barGuid = iter;
1934 InsertMenu(hBandsMenu, dwPos + cBands, MF_BYPOSITION, IDM_EXPLORERBAND_BEGINCUSTOM + DSA_GetItemCount(menuDsa), wszBandName);
1935 DSA_AppendItem(menuDsa, &mbi);
1936 cBands++;
1937 }
1938 }
1939 while (dwRead > 0);
1940 if (nbFound)
1941 *nbFound = cBands;
1942 return S_OK;
1943}
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
BOOL IsBuiltinBand(CLSID &bandID)
#define IDM_EXPLORERBAND_BEGINCUSTOM
Definition: resource.h:82
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DSA_AppendItem(hdsa, pitem)
Definition: commctrl.h:4832
#define DSA_GetItemCount(hdsa)
Definition: commctrl.h:4831
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define SHGetValue
Definition: shlwapi.h:79
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10
#define MF_BYPOSITION
Definition: winuser.h:203
#define InsertMenu
Definition: winuser.h:5888
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by BuildExplorerBandMenu().

◆ BuildExplorerBandMenu()

HRESULT CShellBrowser::BuildExplorerBandMenu ( )

Definition at line 1875 of file shellbrowser.cpp.

1876{
1877 HMENU hBandsMenu;
1878 UINT nbFound;
1879
1881 if (!hBandsMenu)
1882 {
1883 OutputDebugString(L"No menu !\n");
1884 return E_FAIL;
1885 }
1887 BuildExplorerBandCategory(hBandsMenu, CATID_InfoBand, 4, NULL);
1888 BuildExplorerBandCategory(hBandsMenu, CATID_CommBand, 20, &nbFound);
1889 if (!nbFound)
1890 {
1891 // Remove separator
1893 }
1894 // Remove media menu since XP does it (according to API Monitor)
1896 return S_OK;
1897}
HRESULT BuildExplorerBandCategory(HMENU hBandsMenu, CATID category, DWORD dwPos, UINT *nbFound)
#define E_FAIL
Definition: ddrawi.h:102
#define IDM_EXPLORERBAR_MEDIA
Definition: resource.h:42
#define IDM_VIEW_EXPLORERBAR
Definition: resource.h:39
#define IDM_EXPLORERBAR_SEPARATOR
Definition: resource.h:45
HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
Definition: ordinal.c:1997
BOOL WINAPI DSA_DeleteAllItems(HDSA hdsa)
Definition: dsa.c:367
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
#define OutputDebugString
Definition: winbase.h:3931
#define MF_BYCOMMAND
Definition: winuser.h:202
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)

Referenced by SetMenuSB().

◆ CacheOLEServer()

HRESULT STDMETHODCALLTYPE CShellBrowser::CacheOLEServer ( IOleObject pole)
override

Implements IBrowserService.

Definition at line 2800 of file shellbrowser.cpp.

2801{
2802 return E_NOTIMPL;
2803}

◆ CanNavigateNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow ( void  )
override

Implements IBrowserService.

Definition at line 2748 of file shellbrowser.cpp.

2749{
2750 return E_NOTIMPL;
2751}

◆ ClientToWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::ClientToWindow ( int pcx,
int pcy 
)
override

Definition at line 3353 of file shellbrowser.cpp.

3354{
3355 return E_NOTIMPL;
3356}

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 2288 of file shellbrowser.cpp.

2289{
2290 return E_NOTIMPL;
2291}

◆ CreateBrowserPropSheetExt()

HRESULT STDMETHODCALLTYPE CShellBrowser::CreateBrowserPropSheetExt ( REFIID  riid,
void **  ppv 
)
override

Implements IBrowserService2.

Definition at line 2899 of file shellbrowser.cpp.

2900{
2901 return E_NOTIMPL;
2902}

◆ CreateRelativeBrowsePIDL()

HRESULT CShellBrowser::CreateRelativeBrowsePIDL ( LPCITEMIDLIST  relative,
UINT  SbspFlags,
LPITEMIDLIST ppidl 
)

Definition at line 890 of file shellbrowser.cpp.

891{
892 if (SbspFlags & SBSP_RELATIVE)
893 return SHILCombine(fCurrentDirectoryPIDL, relative, ppidl);
894
895 if (SbspFlags & SBSP_PARENT)
896 {
897 HRESULT hr = GetPidl(ppidl);
898 if (FAILED(hr))
899 return hr;
900 ILRemoveLastID(*ppidl);
901 return S_OK;
902 }
903 // TODO: SBSP_NAVIGATEBACK and SBSP_NAVIGATEFORWARD?
904 return E_UNEXPECTED;
905}
STDMETHOD() GetPidl(LPITEMIDLIST *ppidl) override
BOOL WINAPI ILRemoveLastID(LPITEMIDLIST pidl)
Definition: pidl.c:221
#define E_UNEXPECTED
Definition: winerror.h:2456

Referenced by BrowseObject().

◆ CreateViewWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CreateViewWindow ( IShellView psvNew,
IShellView psvOld,
LPRECT  prcView,
HWND phwnd 
)
override

Implements IBrowserService2.

Definition at line 2893 of file shellbrowser.cpp.

2895{
2896 return E_NOTIMPL;
2897}

◆ DisplayParseError()

HRESULT STDMETHODCALLTYPE CShellBrowser::DisplayParseError ( HRESULT  hres,
LPCWSTR  pwszPath 
)
override

Implements IBrowserService.

Definition at line 2701 of file shellbrowser.cpp.

2702{
2703 return E_NOTIMPL;
2704}

◆ DoFolderOptions()

HRESULT CShellBrowser::DoFolderOptions ( )

Definition at line 1438 of file shellbrowser.cpp.

1439{
1440 CComPtr<IShellPropSheetExt> folderOptionsSheet;
1441 PROPSHEETHEADER m_PropSheet;
1443// CComPtr<IGlobalFolderSettings> globalSettings;
1444// SHELLSTATE2 shellState;
1445 HRESULT hResult;
1446
1447 memset(m_psp, 0, sizeof(m_psp));
1448 memset(&m_PropSheet, 0, sizeof(m_PropSheet));
1449
1450 // create sheet object
1451 hResult = CoCreateInstance(CLSID_ShellFldSetExt, NULL, CLSCTX_INPROC_SERVER,
1452 IID_PPV_ARG(IShellPropSheetExt, &folderOptionsSheet));
1453 if (FAILED_UNEXPECTEDLY(hResult))
1454 return E_FAIL;
1455
1456 // must set site in order for Apply to all Folders on Advanced page to be enabled
1457 hResult = IUnknown_SetSite(folderOptionsSheet, static_cast<IDispatch *>(this));
1458 m_PropSheet.phpage = m_psp;
1459
1460#if 0
1461 hResult = CoCreateInstance(CLSID_GlobalFolderSettings, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IGlobalFolderSettings, &globalSettings));
1462 if (FAILED_UNEXPECTEDLY(hResult))
1463 return E_FAIL;
1464 hResult = globalSettings->Get(&shellState, sizeof(shellState));
1465 if (FAILED_UNEXPECTEDLY(hResult))
1466 return E_FAIL;
1467#endif
1468
1469 // add pages
1470 hResult = folderOptionsSheet->AddPages(AddFolderOptionsPage, reinterpret_cast<LPARAM>(&m_PropSheet));
1471 if (FAILED_UNEXPECTEDLY(hResult))
1472 return E_FAIL;
1473
1475 {
1476 hResult = fCurrentShellView->AddPropertySheetPages(
1477 0, AddFolderOptionsPage, reinterpret_cast<LPARAM>(&m_PropSheet));
1478 if (FAILED_UNEXPECTEDLY(hResult))
1479 return E_FAIL;
1480 }
1481
1482 // show sheet
1483 CStringW strFolderOptions(MAKEINTRESOURCEW(IDS_FOLDER_OPTIONS));
1484 m_PropSheet.dwSize = sizeof(PROPSHEETHEADER);
1485 m_PropSheet.dwFlags = 0;
1486 m_PropSheet.hwndParent = m_hWnd;
1487 m_PropSheet.hInstance = _AtlBaseModule.GetResourceInstance();
1488 m_PropSheet.pszCaption = strFolderOptions;
1489 m_PropSheet.nStartPage = 0;
1490 PropertySheet(&m_PropSheet);
1491 return S_OK;
1492}
#define IDS_FOLDER_OPTIONS
Definition: resource.h:135
BOOL CALLBACK AddFolderOptionsPage(HPROPSHEETPAGE thePage, LPARAM lParam)
static const unsigned int folderOptionsPageCountMax
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
#define PROPSHEETHEADER
Definition: prsht.h:392
#define PropertySheet
Definition: prsht.h:400
#define memset(x, y, z)
Definition: compat.h:39
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582

Referenced by Exec(), and OnFolderOptions().

◆ DragEnter()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragEnter ( IDataObject pDataObj,
DWORD  grfKeyState,
POINTL  pt,
DWORD pdwEffect 
)
override

Implements IDropTarget.

Definition at line 2492 of file shellbrowser.cpp.

2494{
2495 return E_NOTIMPL;
2496}

◆ DragLeave()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave ( void  )
override

Implements IDropTarget.

Definition at line 2503 of file shellbrowser.cpp.

2504{
2505 return E_NOTIMPL;
2506}

◆ DragOver()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragOver ( DWORD  grfKeyState,
POINTL  pt,
DWORD pdwEffect 
)
override

Implements IDropTarget.

Definition at line 2498 of file shellbrowser.cpp.

2499{
2500 return E_NOTIMPL;
2501}

◆ Drop()

HRESULT STDMETHODCALLTYPE CShellBrowser::Drop ( IDataObject pDataObj,
DWORD  grfKeyState,
POINTL  pt,
DWORD pdwEffect 
)
override

Implements IDropTarget.

Definition at line 2508 of file shellbrowser.cpp.

2510{
2511 return E_NOTIMPL;
2512}

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB ( BOOL  fEnable)
override

Implements IShellBrowser.

Definition at line 2364 of file shellbrowser.cpp.

2365{
2366 return E_NOTIMPL;
2367}

◆ Exec()

HRESULT STDMETHODCALLTYPE CShellBrowser::Exec ( const GUID pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)
override

Implements IOleCommandTarget.

Definition at line 2136 of file shellbrowser.cpp.

2138{
2139 if (!pguidCmdGroup)
2140 {
2141 TRACE("Unhandled null CGID %d %d %p %p\n", nCmdID, nCmdexecopt, pvaIn, pvaOut);
2142 return E_NOTIMPL;
2143 }
2144 if (IsEqualIID(*pguidCmdGroup, CGID_Explorer))
2145 {
2146 switch (nCmdID)
2147 {
2148 case 0x1c: //Toggle Search
2149 case 0x1d: //Toggle History
2150 case 0x1e: //Toggle Favorites
2151 case SBCMDID_EXPLORERBARFOLDERS: //Toggle Folders
2152 const GUID* pclsid;
2153 if (nCmdID == 0x1c) pclsid = &CLSID_FileSearchBand;
2154 else if (nCmdID == 0x1d) pclsid = &CLSID_SH_HistBand;
2155 else if (nCmdID == 0x1e) pclsid = &CLSID_SH_FavBand;
2156 else pclsid = &CLSID_ExplorerBand;
2157
2158 if (IsEqualCLSID(*pclsid, fCurrentVertBar))
2159 {
2163 }
2164 else
2165 {
2166 ShowBand(*pclsid, true);
2167 }
2168 return S_OK;
2169 case 0x22:
2170 //Sent when a band closes
2171 if (V_VT(pvaIn) != VT_UNKNOWN)
2172 return E_INVALIDARG;
2173
2174 if (IUnknownIsEqual(V_UNKNOWN(pvaIn), fClientBars[BIVerticalBaseBar].clientBar.p))
2175 {
2178 }
2179 return S_OK;
2180 case 0x27:
2181 if (nCmdexecopt == 1)
2182 {
2183 // pvaIn is a VT_UNKNOWN with a band that is being hidden
2184 }
2185 else
2186 {
2187 // update zones part of the status bar
2188 }
2189 return S_OK;
2190 case 0x35: // don't do this, and the internet toolbar doesn't create a menu band
2191 V_VT(pvaOut) = VT_INT_PTR;
2192 V_INTREF(pvaOut) = reinterpret_cast<INT *>(
2193 LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU)));
2194 return S_OK;
2195 case 0x38:
2196 // indicate if this cabinet was opened as a browser
2197 return S_FALSE;
2198 default:
2199 return E_NOTIMPL;
2200 }
2201 }
2202 else if (IsEqualIID(*pguidCmdGroup, CGID_InternetButtons))
2203 {
2204 switch (nCmdID)
2205 {
2206 case 0x23:
2207 // placeholder
2208 return S_OK;
2209 }
2210 }
2211 else if (IsEqualIID(*pguidCmdGroup, CGID_Theater))
2212 {
2213 switch (nCmdID)
2214 {
2215 case 6:
2216 // what is theater mode and why do we receive this?
2217 return E_NOTIMPL;
2218 }
2219 }
2220 else if (IsEqualIID(*pguidCmdGroup, CGID_MenuBand))
2221 {
2222 switch (nCmdID)
2223 {
2224 case 14:
2225 // initialize favorites menu
2226 return S_OK;
2227 }
2228 }
2229 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView))
2230 {
2231 switch (nCmdID)
2232 {
2233 case 0x12:
2234 // refresh on toolbar clicked
2235 return S_OK;
2236 case 0x26:
2237 // called for unknown bands ?
2238 return S_OK;
2239 case 0x4d:
2240 // tell the view if it should hide the task pane or not
2241 return (fClientBars[BIVerticalBaseBar].clientBar.p == NULL) ? S_FALSE : S_OK;
2242 }
2243 }
2244 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser))
2245 {
2246 switch (nCmdID)
2247 {
2248 case 40994:
2249 return NavigateToParent();
2252 break;
2253 }
2254 }
2255 else if (IsEqualIID(*pguidCmdGroup, CGID_IExplorerToolbar))
2256 {
2257 switch (nCmdID)
2258 {
2259 case 0x7063:
2260 return DoFolderOptions();
2261 }
2262 }
2263 else if (IsEqualIID(*pguidCmdGroup, CGID_DefView))
2264 {
2265 switch (nCmdID)
2266 {
2270 break;
2271 }
2272 }
2273 else
2274 {
2275 return E_NOTIMPL;
2276 }
2277 return E_NOTIMPL;
2278}
static const int BIVerticalBaseBar
HRESULT ApplyBrowserDefaultFolderSettings(IShellView *pSV)
HRESULT DoFolderOptions()
barInfo fClientBars[3]
void SaveITBarLayout()
#define IDM_NOTIFYITBARDIRTY
Definition: resource.h:79
#define IDM_CABINET_MAINMENU
Definition: resource.h:92
bool IUnknownIsEqual(IUnknown *int1, IUnknown *int2)
HRESULT IUnknown_ShowDW(IUnknown *punk, BOOL fShow)
@ VT_UNKNOWN
Definition: compat.h:2308
@ VT_INT_PTR
Definition: compat.h:2327
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
Definition: ordinal.c:1087
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
#define V_UNKNOWN(A)
Definition: oleauto.h:281
#define V_VT(A)
Definition: oleauto.h:211
#define V_INTREF(A)
Definition: oleauto.h:252
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96
#define CGID_InternetButtons
Definition: shlguid.h:248
#define CGID_IExplorerToolbar
#define CGID_MenuBand
#define SBCMDID_EXPLORERBARFOLDERS
Definition: shlobj_undoc.h:53
#define DVCMDID_RESET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:79
#define TRACE(s)
Definition: solgame.cpp:4
#define LoadMenu
Definition: winuser.h:5902

Referenced by ShowControlWindow().

◆ ExecWB()

HRESULT STDMETHODCALLTYPE CShellBrowser::ExecWB ( OLECMDID  cmdID,
OLECMDEXECOPT  cmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)
override

Definition at line 3512 of file shellbrowser.cpp.

3514{
3518 if (SUCCEEDED(hr))
3519 hr = pOCT->Exec(NULL, cmdID, cmdexecopt, pvaIn, pvaOut);
3520 return hr;
3521}
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)

◆ FindWindowByIndex()

HRESULT STDMETHODCALLTYPE CShellBrowser::FindWindowByIndex ( DWORD  dwID,
IUnknown **  ppunk 
)
override

Implements ITravelLogClient.

Definition at line 3627 of file shellbrowser.cpp.

3628{
3629 return E_NOTIMPL;
3630}

◆ FireCommandStateChange()

HRESULT CShellBrowser::FireCommandStateChange ( bool  newState,
int  commandID 
)

Definition at line 1686 of file shellbrowser.cpp.

1687{
1688 VARIANT varArg[2];
1689
1690 V_VT(&varArg[0]) = VT_BOOL;
1691 V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE;
1692 V_VT(&varArg[1]) = VT_I4;
1693 V_I4(&varArg[1]) = commandID;
1694
1695 return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg);
1696}
HRESULT FireEvent(DISPID dispIdMember, int argCount, VARIANT *arguments)
@ VT_I4
Definition: compat.h:2298
@ VT_BOOL
Definition: compat.h:2306
#define V_BOOL(A)
Definition: oleauto.h:224
#define V_I4(A)
Definition: oleauto.h:247
#define DISPID_COMMANDSTATECHANGE
Definition: webchild.h:40

Referenced by FireCommandStateChangeAll(), UpdateForwardBackState(), and UpdateUpState().

◆ FireCommandStateChangeAll()

HRESULT CShellBrowser::FireCommandStateChangeAll ( )

Definition at line 1698 of file shellbrowser.cpp.

1699{
1700 return FireCommandStateChange(false, -1);
1701}
HRESULT FireCommandStateChange(bool newState, int commandID)

Referenced by BrowseToPath(), Exec(), and ShowBand().

◆ FireEvent()

HRESULT CShellBrowser::FireEvent ( DISPID  dispIdMember,
int  argCount,
VARIANT arguments 
)

Definition at line 1629 of file shellbrowser.cpp.

1630{
1634 HRESULT hResult;
1635
1636 params.rgvarg = arguments;
1637 params.rgdispidNamedArgs = NULL;
1638 params.cArgs = argCount;
1639 params.cNamedArgs = 0;
1640 IUnknown** pp = vec.begin();
1641 while (pp < vec.end())
1642 {
1643 if (*pp != NULL)
1644 {
1645 CComPtr<IDispatch> theDispatch;
1646 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1647 if (SUCCEEDED(hResult))
1648 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1649 }
1650 pp++;
1651 }
1652 pp = vec2.begin();
1653 while (pp < vec2.end())
1654 {
1655 if (*pp != NULL)
1656 {
1657 CComPtr<IDispatch> theDispatch;
1658 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1659 if (SUCCEEDED(hResult))
1660 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1661 }
1662 pp++;
1663 }
1664 return S_OK;
1665}
IUnknown ** end()
Definition: atlcom.h:1128
IUnknown ** begin()
Definition: atlcom.h:1123
FT_Vector * vec
Definition: ftbbox.c:470
GLenum const GLfloat * params
Definition: glext.h:5645
#define GUID_NULL
Definition: ks.h:106
struct stdole::DISPPARAMS DISPPARAMS
#define DISPATCH_METHOD
Definition: oleauto.h:1006

Referenced by FireCommandStateChange(), FireEvent_VBOOL(), and FireNavigateComplete().

◆ FireEvent_VBOOL()

HRESULT CShellBrowser::FireEvent_VBOOL ( DISPID  dispIdMember,
VARIANT_BOOL  Param1 
)

Definition at line 1703 of file shellbrowser.cpp.

1704{
1705 VARIANT vArgs[1];
1706 V_VT(&vArgs[0]) = VT_BOOL;
1707 V_BOOL(&vArgs[0]) = Param1 ? VARIANT_TRUE : VARIANT_FALSE;
1708 return FireEvent(dispIdMember, 1, vArgs);
1709}

Referenced by put_AddressBar(), put_FullScreen(), put_MenuBar(), put_StatusBar(), put_ToolBar(), and put_Visible().

◆ FireNavigateComplete()

HRESULT CShellBrowser::FireNavigateComplete ( const wchar_t newDirectory)

Definition at line 1667 of file shellbrowser.cpp.

1668{
1669 // these two variants intentionally to do use CComVariant because it would double free/release
1670 // or does not need to dispose at all
1671 VARIANT varArg[2];
1672 VARIANT varArgs;
1673 CComBSTR tempString(newDirectory);
1674
1675 V_VT(&varArgs) = VT_BSTR;
1676 V_BSTR(&varArgs) = tempString.m_str;
1677
1678 V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF;
1679 V_VARIANTREF(&varArg[0]) = &varArgs;
1680 V_VT(&varArg[1]) = VT_DISPATCH;
1681 V_DISPATCH(&varArg[1]) = (IDispatch *)this;
1682
1683 return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg);
1684}
@ VT_BSTR
Definition: compat.h:2303
@ VT_BYREF
Definition: compat.h:2342
@ VT_VARIANT
Definition: compat.h:2307
@ VT_DISPATCH
Definition: compat.h:2304
#define V_VARIANTREF(A)
Definition: oleauto.h:283
#define V_BSTR(A)
Definition: oleauto.h:226
#define V_DISPATCH(A)
Definition: oleauto.h:239
#define DISPID_NAVIGATECOMPLETE2
Definition: webchild.h:54

Referenced by BrowseToPath().

◆ get_AddressBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_AddressBar ( VARIANT_BOOL Value)
override

Definition at line 3601 of file shellbrowser.cpp.

3602{
3603 *Value = IsControlWindowShown(FCW_ADDRESSBAR, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3604 return S_OK;
3605}
#define FCW_ADDRESSBAR
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413

◆ get_Application()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Application ( IDispatch **  ppDisp)
override

Definition at line 3258 of file shellbrowser.cpp.

3259{
3260 return E_NOTIMPL;
3261}

◆ get_Busy()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy ( VARIANT_BOOL pBool)
override

Definition at line 3342 of file shellbrowser.cpp.

3343{
3344 return E_NOTIMPL;
3345}

◆ get_Container()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Container ( IDispatch **  ppDisp)
override

Definition at line 3268 of file shellbrowser.cpp.

3269{
3270 return E_NOTIMPL;
3271}

◆ get_Document()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Document ( IDispatch **  ppDisp)
override

Definition at line 3273 of file shellbrowser.cpp.

3274{
3275 return E_NOTIMPL;
3276}

◆ get_FullName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName ( BSTR FullName)
override

Definition at line 3379 of file shellbrowser.cpp.

3380{
3381 return E_NOTIMPL;
3382}

◆ get_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen ( VARIANT_BOOL pbFullScreen)
override

Definition at line 3464 of file shellbrowser.cpp.

3465{
3466 *pbFullScreen = (m_BrowserSvcFlags & BSF_ROS_KIOSK) ? VARIANT_TRUE : VARIANT_FALSE;
3467 return S_OK;
3468}

◆ get_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height ( long pl)
override

Definition at line 3320 of file shellbrowser.cpp.

3321{
3322 return E_NOTIMPL;
3323}

◆ get_HWND()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND ( SHANDLE_PTR pHWND)
override

Definition at line 3373 of file shellbrowser.cpp.

3374{
3376 return *pHWND ? S_OK : E_UNEXPECTED;
3377}
#define HandleToLong(h)
Definition: basetsd.h:80
HWND GetTopLevelBrowserWindow()

◆ get_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left ( long pl)
override

Definition at line 3290 of file shellbrowser.cpp.

3291{
3292 return E_NOTIMPL;
3293}

◆ get_LocationName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName ( BSTR LocationName)
override

Definition at line 3332 of file shellbrowser.cpp.

3333{
3334 return E_NOTIMPL;
3335}

◆ get_LocationURL()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL ( BSTR LocationURL)
override

Definition at line 3337 of file shellbrowser.cpp.

3338{
3339 return E_NOTIMPL;
3340}

◆ get_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar ( VARIANT_BOOL Value)
override

Definition at line 3450 of file shellbrowser.cpp.

3451{
3452 *Value = IsControlWindowShown(FCW_MENU, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3453 return S_OK;
3454}
#define FCW_MENU

Referenced by OnToggleFullscreen().

◆ get_Name()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name ( BSTR Name)
override

Definition at line 3368 of file shellbrowser.cpp.

3369{
3370 return E_NOTIMPL;
3371}

◆ get_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline ( VARIANT_BOOL pbOffline)
override

Definition at line 3542 of file shellbrowser.cpp.

3543{
3544 return E_NOTIMPL;
3545}

◆ get_Parent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Parent ( IDispatch **  ppDisp)
override

Definition at line 3263 of file shellbrowser.cpp.

3264{
3265 return E_NOTIMPL;
3266}

◆ get_Path()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path ( BSTR Path)
override

Definition at line 3384 of file shellbrowser.cpp.

3385{
3386 return E_NOTIMPL;
3387}

◆ get_ReadyState()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ReadyState ( READYSTATE *  plReadyState)
override

Definition at line 3537 of file shellbrowser.cpp.

3538{
3539 return E_NOTIMPL;
3540}

◆ get_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser ( VARIANT_BOOL pbRegister)
override

Definition at line 3562 of file shellbrowser.cpp.

3563{
3564 *pbRegister = (m_BrowserSvcFlags & BSF_ROS_REGBROWSER) ? VARIANT_TRUE : VARIANT_FALSE;
3565 return S_OK;
3566}

◆ get_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget ( VARIANT_BOOL pbRegister)
override

Definition at line 3576 of file shellbrowser.cpp.

3577{
3578 *pbRegister = (m_BrowserSvcFlags & BSF_REGISTERASDROPTARGET) ? VARIANT_TRUE : VARIANT_FALSE;
3579 return S_OK;
3580}

◆ get_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable ( VARIANT_BOOL Value)
override

Definition at line 3615 of file shellbrowser.cpp.

3616{
3617 *Value = (m_BrowserSvcFlags & BSF_RESIZABLE) ? VARIANT_TRUE : VARIANT_FALSE;
3618 return E_NOTIMPL;
3619}

◆ get_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent ( VARIANT_BOOL pbSilent)
override

Definition at line 3552 of file shellbrowser.cpp.

3553{
3554 return E_NOTIMPL;
3555}

◆ get_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar ( VARIANT_BOOL pBool)
override

Definition at line 3408 of file shellbrowser.cpp.

3409{
3410 *pBool = IsControlWindowShown(FCW_STATUS, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3411 return S_OK;
3412}

Referenced by OnToggleFullscreen().

◆ get_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText ( BSTR StatusText)
override

Definition at line 3422 of file shellbrowser.cpp.

3423{
3424 return E_NOTIMPL;
3425}

◆ get_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode ( VARIANT_BOOL pbRegister)
override

Definition at line 3588 of file shellbrowser.cpp.

3589{
3590 *pbRegister = (m_BrowserSvcFlags & BSF_THEATERMODE) ? VARIANT_TRUE : VARIANT_FALSE;
3591 return S_OK;
3592}

◆ get_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar ( int Value)
override

Definition at line 3433 of file shellbrowser.cpp.

3434{
3435 *Value = IsControlWindowShown(FCW_INTERNETBAR, NULL) == S_OK;
3436 if (!*Value && IsControlWindowShown(FCW_TOOLBAR, NULL) == S_OK)
3437 *Value = FCW_TOOLBAR;
3438 return S_OK;
3439}

◆ get_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top ( long pl)
override

Definition at line 3300 of file shellbrowser.cpp.

3301{
3302 return E_NOTIMPL;
3303}

◆ get_TopLevelContainer()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer ( VARIANT_BOOL pBool)
override

Definition at line 3278 of file shellbrowser.cpp.

3279{
3280 return E_NOTIMPL;
3281}

◆ get_Type()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type ( BSTR Type)
override

Definition at line 3283 of file shellbrowser.cpp.

3284{
3285 return E_NOTIMPL;
3286}

◆ get_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible ( VARIANT_BOOL pBool)
override

Definition at line 3389 of file shellbrowser.cpp.

3390{
3392 *pBool = hWnd && ::IsWindowVisible(hWnd) ? VARIANT_TRUE : VARIANT_FALSE;
3393 return S_OK;
3394}
HWND hWnd
Definition: settings.c:17
BOOL IsWindowVisible() const
Definition: atlwin.h:958

◆ get_Width()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Width ( long pl)
override

Definition at line 3310 of file shellbrowser.cpp.

3311{
3312 return E_NOTIMPL;
3313}

◆ GetBaseBar()

HRESULT CShellBrowser::GetBaseBar ( bool  vertical,
REFIID  riid,
void **  theBaseBar 
)

Definition at line 1224 of file shellbrowser.cpp.

1225{
1226 CComPtr<IUnknown> newBaseBar;
1227 CComPtr<IDeskBar> deskBar;
1228 CComPtr<IUnknown> newBaseBarSite;
1229 CComPtr<IDeskBarClient> deskBarClient;
1230 IUnknown **cache;
1231 HRESULT hResult;
1232
1233 if (vertical)
1235 else
1237 if (*cache == NULL)
1238 {
1239 hResult = CBaseBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBar), vertical);
1240 if (FAILED_UNEXPECTEDLY(hResult))
1241 return hResult;
1242 hResult = CBaseBarSite_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBarSite), vertical);
1243 if (FAILED_UNEXPECTEDLY(hResult))
1244 return hResult;
1245
1246 // we have to store our basebar into cache now
1247 *cache = newBaseBar;
1248 (*cache)->AddRef();
1249
1250 // tell the new base bar about the shell browser
1251 hResult = IUnknown_SetSite(newBaseBar, static_cast<IDropTarget *>(this));
1252 if (FAILED_UNEXPECTEDLY(hResult))
1253 return hResult;
1254
1255 // tell the new base bar about the new base bar site
1256 hResult = newBaseBar->QueryInterface(IID_PPV_ARG(IDeskBar, &deskBar));
1257 if (FAILED_UNEXPECTEDLY(hResult))
1258 return hResult;
1259 hResult = deskBar->SetClient(newBaseBarSite);
1260 if (FAILED_UNEXPECTEDLY(hResult))
1261 return hResult;
1262
1263 // tell the new base bar site about the new base bar
1264 hResult = newBaseBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &deskBarClient));
1265 if (FAILED_UNEXPECTEDLY(hResult))
1266 return hResult;
1267 hResult = deskBarClient->SetDeskBarSite(newBaseBar);
1268 if (FAILED_UNEXPECTEDLY(hResult))
1269 return hResult;
1270
1271 }
1272 return (*cache)->QueryInterface(riid, theBaseBar);
1273}
HRESULT CBaseBarSite_CreateInstance(REFIID riid, void **ppv, BOOL bVertical)
HRESULT CBaseBar_CreateInstance(REFIID riid, void **ppv, BOOL vertical)
Definition: CBaseBar.cpp:564
CComPtr< IUnknown > clientBar
static const int BIHorizontalBaseBar
REFIID riid
Definition: atlbase.h:39
Definition: cache.c:49

Referenced by IsBandLoaded(), and ShowBand().

◆ GetBaseBrowserData()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetBaseBrowserData ( LPCBASEBROWSERDATA pbbd)
override

Implements IBrowserService2.

Definition at line 2909 of file shellbrowser.cpp.

2910{
2911 return E_NOTIMPL;
2912}

◆ GetBorderDW()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetBorderDW ( IUnknown punkObj,
LPRECT  prcBorder 
)
override

Definition at line 2014 of file shellbrowser.cpp.

2015{
2016 static const INT excludeItems[] = { 1, 1, 1, IDC_STATUSBAR, 0, 0 };
2017
2018 RECT availableBounds;
2019
2020 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
2021 for (INT x = 0; x < 3; x++)
2022 {
2023 if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
2024 {
2025 availableBounds.top += fClientBars[x].borderSpace.top;
2026 availableBounds.left += fClientBars[x].borderSpace.left;
2027 availableBounds.bottom -= fClientBars[x].borderSpace.bottom;
2028 availableBounds.right -= fClientBars[x].borderSpace.right;
2029 }
2030 }
2031 *prcBorder = availableBounds;
2032 return S_OK;
2033}
#define IDC_STATUSBAR
Definition: resource.h:12
VOID WINAPI GetEffectiveClientRect(HWND hwnd, LPRECT lpRect, const INT *lpInfo)
Definition: commctrl.c:629
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306

◆ GetBrowserByIndex()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetBrowserByIndex ( DWORD  dwID,
IUnknown **  ppunk 
)
override

Implements IBrowserService.

Definition at line 2769 of file shellbrowser.cpp.

2770{
2771 return E_NOTIMPL;
2772}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 3651 of file shellbrowser.cpp.

3652{
3653 return E_NOTIMPL;
3654}

◆ GetControlWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetControlWindow ( UINT  id,
HWND lphwnd 
)
override

Implements IShellBrowser.

Definition at line 2419 of file shellbrowser.cpp.

2420{
2421 if (lphwnd == NULL)
2422 return E_POINTER;
2423 *lphwnd = NULL;
2424 switch (id)
2425 {
2426 case FCW_TOOLBAR:
2427 *lphwnd = fToolbarProxy.m_hWnd;
2428 return S_OK;
2429 case FCW_STATUS:
2430 *lphwnd = fStatusBar;
2431 return S_OK;
2432 case FCW_TREE:
2433 {
2434 BOOL shown;
2435 if (SUCCEEDED(IsControlWindowShown(id, &shown)) && shown)
2436 return IUnknown_GetWindow(fClientBars[BIVerticalBaseBar].clientBar.p, lphwnd);
2437 return S_FALSE;
2438 }
2439 case FCW_PROGRESS:
2440 // is this a progress dialog?
2441 return S_OK;
2442 }
2443 return S_OK;
2444}
CToolbarProxy fToolbarProxy
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:1336
#define E_POINTER
Definition: winerror.h:2365

◆ GetFlags()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetFlags ( DWORD pdwFlags)
override

Implements IBrowserService.

Definition at line 2742 of file shellbrowser.cpp.

2743{
2744 *pdwFlags = m_BrowserSvcFlags;
2745 return S_OK;
2746}

◆ GetFolderSetData()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetFolderSetData ( struct tagFolderSetData pfsd)
override

Implements IBrowserService2.

Definition at line 3027 of file shellbrowser.cpp.

3028{
3029 return E_NOTIMPL;
3030}

◆ GetHistoryObject()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetHistoryObject ( IOleObject **  ppole,
IStream **  pstm,
IBindCtx **  ppbc 
)
override

Implements IBrowserService.

Definition at line 2774 of file shellbrowser.cpp.

2775{
2776 if (ppole == NULL || pstm == NULL || ppbc == NULL)
2777 return E_INVALIDARG;
2778 *ppole = fHistoryObject;
2779 if (fHistoryObject != NULL)
2781 *pstm = fHistoryStream;
2782 if (fHistoryStream != NULL)
2784 *ppbc = fHistoryBindContext;
2790 if (*ppole == NULL)
2791 return E_FAIL;
2792 return S_OK;
2793}
ULONG AddRef()

◆ GetIDsOfNames()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetIDsOfNames ( REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
override

Definition at line 2574 of file shellbrowser.cpp.

2576{
2577 return E_NOTIMPL;
2578}

◆ GetMenuBand()

HRESULT CShellBrowser::GetMenuBand ( REFIID  riid,
void **  shellMenu 
)

Definition at line 1207 of file shellbrowser.cpp.

1208{
1209 CComPtr<IBandSite> bandSite;
1210 CComPtr<IDeskBand> deskBand;
1211 HRESULT hResult;
1212
1213 if (!fClientBars[BIInternetToolbar].clientBar)
1214 return E_FAIL;
1215
1217 if (FAILED_UNEXPECTEDLY(hResult))
1218 return hResult;
1219
1220 hResult = bandSite->QueryBand(ITBBID_MENUBAND, &deskBand, NULL, NULL, 0);
1221 return FAILED(hResult) ? hResult : deskBand->QueryInterface(riid, shellMenu); // It is expected that this might fail during WM_DESTROY
1222}
static const int BIInternetToolbar
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1501
#define SID_IBandSite
#define ITBBID_MENUBAND
Definition: undocshell.h:902

Referenced by SetMenuSB(), and WindowProc().

◆ GetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState ( BNSTATE pbnstate)
override

Implements IBrowserService.

Definition at line 2716 of file shellbrowser.cpp.

2717{
2718 return E_NOTIMPL;
2719}

◆ GetOleObject()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetOleObject ( IOleObject **  ppobjv)
override

Implements IBrowserService.

Definition at line 2601 of file shellbrowser.cpp.

2602{
2603 return E_NOTIMPL;
2604}

◆ GetPalette()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPalette ( HPALETTE *  hpal)
override

Implements IBrowserService.

Definition at line 2816 of file shellbrowser.cpp.

2817{
2818 return E_NOTIMPL;
2819}

◆ GetParentSite()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetParentSite ( IOleInPlaceSite **  ppipsite)
override

Implements IBrowserService.

Definition at line 2586 of file shellbrowser.cpp.

2587{
2588 return E_NOTIMPL;
2589}

◆ GetPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl ( LPITEMIDLIST ppidl)
override

Definition at line 2753 of file shellbrowser.cpp.

2754{
2755 // called by explorer bar to get current pidl
2756 return ppidl ? SHILClone(fCurrentDirectoryPIDL, ppidl) : E_POINTER;
2757}

Referenced by CreateRelativeBrowsePIDL(), and GetPropertyBag().

◆ GetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie ( DWORD pdwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3740 of file shellbrowser.cpp.

3741{
3742 return E_NOTIMPL;
3743}

◆ GetProperty()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetProperty ( BSTR  Property,
VARIANT pvtValue 
)
override

Definition at line 3363 of file shellbrowser.cpp.

3364{
3365 return E_NOTIMPL;
3366}

◆ GetPropertyBag()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPropertyBag ( long  flags,
REFIID  riid,
void **  ppvObject 
)
override

Definition at line 2541 of file shellbrowser.cpp.

2542{
2543 if (ppvObject == NULL)
2544 return E_POINTER;
2545
2546 *ppvObject = NULL;
2547
2548 LPITEMIDLIST pidl;
2549 HRESULT hr = GetPidl(&pidl);
2551 return E_FAIL;
2552
2553 // FIXME: pidl for Internet etc.
2554
2555 if (_ILIsNetworkPlace(pidl))
2556 flags |= SHGVSPB_ROAM;
2557
2558 hr = SHGetViewStatePropertyBag(pidl, L"Shell", flags, riid, ppvObject);
2559
2560 ILFree(pidl);
2561 return hr;
2562}
static BOOL _ILIsNetworkPlace(LPCITEMIDLIST pidl)
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
Definition: ordinal.c:5243
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082

◆ GetSetCodePage()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetSetCodePage ( VARIANT pvarIn,
VARIANT pvarOut 
)
override

Implements IBrowserService.

Definition at line 2805 of file shellbrowser.cpp.

2806{
2807 return E_NOTIMPL;
2808}

◆ GetTitle()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTitle ( IShellView psv,
LPWSTR  pszName,
DWORD  cchName 
)
override

Implements IBrowserService.

Definition at line 2596 of file shellbrowser.cpp.

2597{
2598 return E_NOTIMPL;
2599}

◆ GetTopLevelBrowserWindow()

HWND CShellBrowser::GetTopLevelBrowserWindow ( )
inline

Definition at line 379 of file shellbrowser.cpp.

379{ return m_hWnd; }

Referenced by get_HWND(), get_Visible(), OnDisplayChangeDelayed(), OnToggleFullscreen(), put_Visible(), and Quit().

◆ GetTravelLog()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTravelLog ( ITravelLog **  pptl)
override

Implements IBrowserService.

Definition at line 2606 of file shellbrowser.cpp.

2607{
2608 HRESULT hResult;
2609
2610 // called by toolbar when displaying tooltips
2611 if (pptl == NULL)
2612 return E_FAIL;
2613
2614 *pptl = NULL;
2615 if (fTravelLog.p == NULL)
2616 {
2618 if (FAILED_UNEXPECTEDLY(hResult))
2619 return hResult;
2620 }
2621 *pptl = fTravelLog.p;
2622 fTravelLog.p->AddRef();
2623 return S_OK;
2624}
HRESULT CTravelLog_CreateInstance(REFIID riid, void **ppv)
Definition: travellog.cpp:632
_In_ POINTL * pptl
Definition: winddi.h:3741

Referenced by BrowseToPath(), GoBack(), GoForward(), UpdateForwardBackState(), and UpdateGotoMenu().

◆ GetTypeInfo()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
override

Definition at line 2569 of file shellbrowser.cpp.

2570{
2571 return E_NOTIMPL;
2572}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfoCount ( UINT pctinfo)
override

Definition at line 2564 of file shellbrowser.cpp.

2565{
2566 return E_NOTIMPL;
2567}

◆ GetViewRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 2842 of file shellbrowser.cpp.

2843{
2844 return E_NOTIMPL;
2845}

◆ GetViewStateStream()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewStateStream ( DWORD  grfMode,
IStream **  ppStrm 
)
override

Implements IShellBrowser.

Definition at line 2414 of file shellbrowser.cpp.

2415{
2416 return E_NOTIMPL;
2417}

◆ GetViewWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewWindow ( HWND phwndView)
override

Implements IBrowserService2.

Definition at line 2904 of file shellbrowser.cpp.

2905{
2906 return E_NOTIMPL;
2907}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 2280 of file shellbrowser.cpp.

2281{
2282 if (lphwnd == NULL)
2283 return E_POINTER;
2284 *lphwnd = m_hWnd;
2285 return S_OK;
2286}

◆ GetWindowData()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindowData ( IStream pStream,
LPWINDOWDATA  pWinData 
)
override

Implements ITravelLogClient.

Definition at line 3632 of file shellbrowser.cpp.

3633{
3634 if (pWinData == NULL)
3635 return E_POINTER;
3636
3637 pWinData->dwWindowID = -1;
3638 pWinData->uiCP = 0;
3639 pWinData->pidl = ILClone(fCurrentDirectoryPIDL);
3640 pWinData->lpszUrl = NULL;
3641 pWinData->lpszUrlLocation = NULL;
3642 pWinData->lpszTitle = NULL;
3643 return S_OK;
3644}
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:237
DWORD dwWindowID
Definition: tlogstg.idl:24
LPWSTR lpszTitle
Definition: tlogstg.idl:29
LPWSTR lpszUrlLocation
Definition: tlogstg.idl:28
UINT uiCP
Definition: tlogstg.idl:25
PIDLIST_ABSOLUTE pidl
Definition: tlogstg.idl:26
LPWSTR lpszUrl
Definition: tlogstg.idl:27

◆ GetWindowProc()

virtual WNDPROC CShellBrowser::GetWindowProc ( )
inlineoverridevirtual

Reimplemented from ATL::CWindowImplBaseT< TBase, TWinTraits >.

Definition at line 361 of file shellbrowser.cpp.

362 {
363 return WindowProc;
364 }
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

◆ GetWndClassInfo()

static ATL::CWndClassInfo & CShellBrowser::GetWndClassInfo ( )
inlinestatic

Definition at line 664 of file shellbrowser.cpp.

665 {
666 static ATL::CWndClassInfo wc =
667 {
669 0, 0, NULL, LoadIcon(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDI_CABINET)),
671 NULL, NULL, IDC_ARROW, TRUE, 0, _T("")
672 };
673 return wc;
674 }
#define IDI_CABINET
Definition: resource.h:10
static LRESULT CALLBACK StartWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: atlwin.h:1619
static const TCHAR szCabinetWndClass[]
#define _T(x)
Definition: vfdio.h:22
#define COLOR_WINDOW
Definition: winuser.h:929
#define IDC_ARROW
Definition: winuser.h:695
#define CS_DBLCLKS
Definition: winuser.h:659
#define LoadIcon
Definition: winuser.h:5898
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5804

◆ GoBack()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoBack ( )
override

Definition at line 3167 of file shellbrowser.cpp.

3168{
3169 CComPtr<ITravelLog> travelLog;
3170 CComPtr<ITravelEntry> unusedEntry;
3171 HRESULT hResult;
3172
3173 hResult = GetTravelLog(&travelLog);
3174 if (FAILED_UNEXPECTEDLY(hResult))
3175 return hResult;
3176
3177 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_BACK, &unusedEntry);
3178 if (SUCCEEDED(hResult))
3179 {
3180 unusedEntry.Release();
3181 return travelLog->Travel(static_cast<IDropTarget *>(this), TLOG_BACK);
3182 }
3183
3184 return hResult;
3185}
#define TLOG_BACK
Definition: shlobj.h:2745

Referenced by BrowseObject(), OnBackspace(), and OnGoBack().

◆ GoForward()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoForward ( )
override

Definition at line 3187 of file shellbrowser.cpp.

3188{
3189 CComPtr<ITravelLog> travelLog;
3190 CComPtr<ITravelEntry> unusedEntry;
3191 HRESULT hResult;
3192
3193 hResult = GetTravelLog(&travelLog);
3194 if (FAILED_UNEXPECTEDLY(hResult))
3195 return hResult;
3196
3197 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_FORE, &unusedEntry);
3198 if (SUCCEEDED(hResult))
3199 {
3200 unusedEntry.Release();
3201 return travelLog->Travel(static_cast<IDropTarget *>(this), TLOG_FORE);
3202 }
3203
3204 return hResult;
3205}
#define TLOG_FORE
Definition: shlobj.h:2746

Referenced by BrowseObject(), OnBackspace(), and OnGoForward().

◆ GoHome()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoHome ( )
override

Definition at line 3207 of file shellbrowser.cpp.

3208{
3209 return E_NOTIMPL;
3210}

Referenced by OnGoHome().

◆ GoSearch()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoSearch ( )
override

Definition at line 3212 of file shellbrowser.cpp.

3213{
3214 return E_NOTIMPL;
3215}

◆ IEGetDisplayName()

HRESULT STDMETHODCALLTYPE CShellBrowser::IEGetDisplayName ( LPCITEMIDLIST  pidl,
LPWSTR  pwszName,
UINT  uFlags 
)
override

Definition at line 2691 of file shellbrowser.cpp.

2692{
2693 return E_NOTIMPL;
2694}

◆ IEParseDisplayName()

HRESULT STDMETHODCALLTYPE CShellBrowser::IEParseDisplayName ( UINT  uiCP,
LPCWSTR  pwszPath,
LPITEMIDLIST ppidlOut 
)
override

Definition at line 2696 of file shellbrowser.cpp.

2697{
2698 return E_NOTIMPL;
2699}

◆ Initialize()

HRESULT CShellBrowser::Initialize ( )

Definition at line 775 of file shellbrowser.cpp.

776{
777 CComPtr<IPersistStreamInit> persistStreamInit;
778 HRESULT hResult;
779 CComPtr<IUnknown> clientBar;
780
782
783 menuDsa = DSA_Create(sizeof(MenuBandInfo), 5);
784 if (!menuDsa)
785 return E_OUTOFMEMORY;
786
787 // create window
789 if (m_hWnd == NULL)
790 return E_FAIL;
791
793 if (FAILED_UNEXPECTEDLY(hResult))
794 return hResult;
795
797
798 // create interfaces
799 hResult = clientBar->QueryInterface(IID_PPV_ARG(IPersistStreamInit, &persistStreamInit));
800 if (FAILED_UNEXPECTEDLY(hResult))
801 return hResult;
802
803 hResult = IUnknown_SetSite(clientBar, static_cast<IShellBrowser *>(this));
804 if (FAILED_UNEXPECTEDLY(hResult))
805 return hResult;
806
807 hResult = IUnknown_Exec(clientBar, CGID_PrivCITCommands, 1, 1 /* or 0 */, NULL, NULL);
808 if (FAILED_UNEXPECTEDLY(hResult))
809 return hResult;
810
811 CComPtr<IStream> pITBarStream;
813 hResult = SUCCEEDED(hResult) ? persistStreamInit->Load(pITBarStream) : persistStreamInit->InitNew();
814 if (FAILED_UNEXPECTEDLY(hResult))
815 return hResult;
816
817 hResult = IUnknown_ShowDW(clientBar, TRUE);
818 if (FAILED_UNEXPECTEDLY(hResult))
819 return hResult;
820
821 fToolbarProxy.Initialize(m_hWnd, clientBar);
822
823 // create status bar
826 dwStatusStyle |= WS_VISIBLE;
828 0, 0, 500, 20, m_hWnd, (HMENU)IDC_STATUSBAR,
829 _AtlBaseModule.GetModuleInstance(), 0);
830
832 UpdateWindow();
833
834 return S_OK;
835}
@ Create
Definition: registry.c:563
HRESULT CInternetToolbar_CreateInstance(REFIID riid, void **ppv)
Definition: browseui.cpp:78
BOOL UpdateWindow()
Definition: atlwin.h:1345
static HRESULT GetStream(UINT StreamFor, DWORD Stgm, IStream **ppS)
void Initialize(HWND parent, IUnknown *explorerToolbar)
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HDSA WINAPI DSA_Create(INT nSize, INT nGrow)
Definition: dsa.c:71
#define ITBARSTREAM_EXPLORER
#define STGM_READ
Definition: objbase.h:917
#define WS_CHILD
Definition: pedump.c:617
#define WS_VISIBLE
Definition: pedump.c:620
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define SBARS_TOOLTIPS
Definition: commctrl.h:1929
#define STATUSCLASSNAMEW
Definition: commctrl.h:1941
#define SBARS_SIZEGRIP
Definition: commctrl.h:1928
BOOL fStatusBarVisible
Definition: settings.h:17
#define SW_SHOWNORMAL
Definition: winuser.h:781
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define HWND_DESKTOP
Definition: winuser.h:1220
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)

◆ InitializeDownloadManager()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeDownloadManager ( )
override

Implements IBrowserService2.

Definition at line 2950 of file shellbrowser.cpp.

2951{
2952 return E_NOTIMPL;
2953}

◆ InitializeTransitionSite()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTransitionSite ( )
override

Implements IBrowserService2.

Definition at line 2955 of file shellbrowser.cpp.

2956{
2957 return E_NOTIMPL;
2958}

◆ InitializeTravelLog()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTravelLog ( ITravelLog ptl,
DWORD  dw 
)
override

Implements IBrowserService2.

Definition at line 2919 of file shellbrowser.cpp.

2920{
2921 return E_NOTIMPL;
2922}

◆ InsertMenusSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::InsertMenusSB ( HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
)
override

Implements IShellBrowser.

Definition at line 2293 of file shellbrowser.cpp.

2294{
2295 HMENU mainMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2296
2297 Shell_MergeMenus(hmenuShared, mainMenu, 0, 0, FCIDM_BROWSERLAST, MM_SUBMENUSHAVEIDS);
2298
2299 int GCCU(itemCount3) = GetMenuItemCount(hmenuShared);
2300 Unused(itemCount3);
2301
2302 DestroyMenu(mainMenu);
2303
2304 lpMenuWidths->width[0] = 2;
2305 lpMenuWidths->width[2] = 3;
2306 lpMenuWidths->width[4] = 1;
2307 return S_OK;
2308}
#define GCCU(x)
Definition: atlwin.h:27
#define Unused(x)
Definition: atlwin.h:28
UINT WINAPI Shell_MergeMenus(HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags)
Definition: shlmenu.c:856
#define FCIDM_BROWSERLAST
Definition: shlobj.h:631
#define MM_SUBMENUSHAVEIDS
Definition: shlobj.h:2537
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL WINAPI DestroyMenu(_In_ HMENU)

◆ Invoke()

HRESULT STDMETHODCALLTYPE CShellBrowser::Invoke ( DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
override

Definition at line 2580 of file shellbrowser.cpp.

2582{
2583 return E_NOTIMPL;
2584}

◆ IsBandLoaded()

BOOL CShellBrowser::IsBandLoaded ( const CLSID  clsidBand,
bool  vertical,
DWORD pdwBandID 
)

Definition at line 1275 of file shellbrowser.cpp.

1276{
1277 HRESULT hResult;
1278 CComPtr<IDeskBar> deskBar;
1279 CComPtr<IUnknown> baseBarSite;
1280 CComPtr<IBandSite> bandSite;
1281 CLSID clsidTmp;
1282 DWORD numBands;
1283 DWORD dwBandID;
1284 DWORD i;
1285
1286 /* Get our basebarsite to be able to enumerate bands */
1287 hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar));
1288 if (FAILED_UNEXPECTEDLY(hResult))
1289 return FALSE;
1290 hResult = deskBar->GetClient(&baseBarSite);
1291 if (FAILED_UNEXPECTEDLY(hResult))
1292 return FALSE;
1293 hResult = baseBarSite->QueryInterface(IID_PPV_ARG(IBandSite, &bandSite));
1294 if (FAILED_UNEXPECTEDLY(hResult))
1295 return FALSE;
1296
1297 numBands = bandSite->EnumBands(-1, NULL);
1298 for (i = 0; i < numBands; i++)
1299 {
1300 CComPtr<IPersist> bandPersist;
1301
1302 hResult = bandSite->EnumBands(i, &dwBandID);
1303 if (FAILED_UNEXPECTEDLY(hResult))
1304 return FALSE;
1305
1306 hResult = bandSite->GetBandObject(dwBandID, IID_PPV_ARG(IPersist, &bandPersist));
1307 if (FAILED_UNEXPECTEDLY(hResult))
1308 return FALSE;
1309 hResult = bandPersist->GetClassID(&clsidTmp);
1310 if (FAILED_UNEXPECTEDLY(hResult))
1311 return FALSE;
1312 if (IsEqualGUID(clsidBand, clsidTmp))
1313 {
1314 if (pdwBandID) *pdwBandID = dwBandID;
1315 return TRUE;
1316 }
1317 }
1318 return FALSE;
1319}
HRESULT GetBaseBar(bool vertical, REFIID riid, void **theBaseBar)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

Referenced by ShowBand().

◆ IsBuiltinBand()

BOOL CShellBrowser::IsBuiltinBand ( CLSID bandID)

Definition at line 1945 of file shellbrowser.cpp.

1946{
1947 if (IsEqualCLSID(bandID, CLSID_ExplorerBand))
1948 return TRUE;
1949 if (IsEqualCLSID(bandID, CLSID_SH_SearchBand) || IsEqualCLSID(bandID, CLSID_SearchBand))
1950 return TRUE;
1951 if (IsEqualCLSID(bandID, CLSID_IE_SearchBand) || IsEqualCLSID(bandID, CLSID_FileSearchBand))
1952 return TRUE;
1953 if (IsEqualCLSID(bandID, CLSID_SH_HistBand))
1954 return TRUE;
1955 if (IsEqualCLSID(bandID, CLSID_SH_FavBand))
1956 return TRUE;
1957 if (IsEqualCLSID(bandID, CLSID_ChannelsBand))
1958 return TRUE;
1959 return FALSE;
1960}

Referenced by BuildExplorerBandCategory().

◆ IsControlWindowShown()

HRESULT STDMETHODCALLTYPE CShellBrowser::IsControlWindowShown ( UINT  id,
BOOL pfShown 
)
override

Implements IBrowserService.

Definition at line 2650 of file shellbrowser.cpp.

2651{
2652 HRESULT hr = S_OK;
2653 BOOL shown = FALSE;
2654 switch (id)
2655 {
2656 case FCW_STATUS:
2658 break;
2659 case FCW_TREE:
2660 {
2662 hr = QueryStatus(&CGID_Explorer, 1, &cmd, NULL);
2663 shown = cmd.cmdf & OLECMDF_LATCHED;
2664 break;
2665 }
2666 case FCW_MENU:
2668 break;
2669 case FCW_ADDRESSBAR:
2671 break;
2672 default:
2673 hr = E_NOTIMPL;
2674 }
2675 if (pfShown)
2676 {
2677 *pfShown = shown;
2678 return hr;
2679 }
2680 return SUCCEEDED(hr) ? (shown ? S_OK : S_FALSE) : hr;
2681}
HRESULT IsInternetToolbarBandShown(UINT ITId)
STDMETHOD() QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
struct IOleCommandTarget::_tagOLECMD OLECMD
Definition: ftp_var.h:139
#define ITID_MENUBANDSHOWN
Definition: undocshell.h:914
#define ITID_ADDRESSBANDSHOWN
Definition: undocshell.h:912

Referenced by ApplyNewBrowserFlag(), get_AddressBar(), get_MenuBar(), get_StatusBar(), get_ToolBar(), GetControlWindow(), OpenNewBrowserWindow(), and ShowControlWindow().

◆ IsInternetToolbarBandShown()

HRESULT CShellBrowser::IsInternetToolbarBandShown ( UINT  ITId)

Definition at line 2683 of file shellbrowser.cpp.

2684{
2685 OLECMD cmd = { ITId };
2687 CGID_PrivCITCommands, 1, &cmd, NULL);
2688 return SUCCEEDED(hr) ? (cmd.cmdf & OLECMDF_LATCHED) ? S_OK : S_FALSE : hr;
2689}
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
Definition: ordinal.c:1048

Referenced by IsControlWindowShown().

◆ LoadHistory()

HRESULT STDMETHODCALLTYPE CShellBrowser::LoadHistory ( IStream pStream,
IBindCtx pbc 
)
override

Implements IPersistHistory.

Definition at line 3656 of file shellbrowser.cpp.

3657{
3658 CComPtr<IPersistHistory> viewPersistHistory;
3659 CComPtr<IOleObject> viewHistoryObject;
3660 persistState oldState;
3661 ULONG numRead;
3662 LPITEMIDLIST pidl;
3663 HRESULT hResult;
3664
3665 hResult = pStream->Read(&oldState, sizeof(oldState), &numRead);
3666 if (FAILED_UNEXPECTEDLY(hResult))
3667 return hResult;
3668 if (numRead != sizeof(oldState) || oldState.dwSize != sizeof(oldState))
3669 return E_FAIL;
3670 if (oldState.browseType != 2)
3671 return E_FAIL;
3672 pidl = static_cast<LPITEMIDLIST>(CoTaskMemAlloc(oldState.pidlSize));
3673 if (pidl == NULL)
3674 return E_OUTOFMEMORY;
3675 hResult = pStream->Read(pidl, oldState.pidlSize, &numRead);
3676 if (FAILED_UNEXPECTEDLY(hResult))
3677 {
3678 ILFree(pidl);
3679 return hResult;
3680 }
3681 if (numRead != oldState.pidlSize)
3682 {
3683 ILFree(pidl);
3684 return E_FAIL;
3685 }
3686 hResult = CoCreateInstance(oldState.persistClass, NULL, CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER,
3687 IID_PPV_ARG(IOleObject, &viewHistoryObject));
3688 fHistoryObject = viewHistoryObject;
3689 fHistoryStream = pStream;
3690 fHistoryBindContext = pbc;
3691 hResult = BrowseToPIDL(pidl, BTP_DONT_UPDATE_HISTORY);
3695 ILFree(pidl);
3696 if (FAILED_UNEXPECTEDLY(hResult))
3697 return hResult;
3698 return S_OK;
3699}
static const long BTP_DONT_UPDATE_HISTORY
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
HRESULT Read([out, size_is(cb), length_is(*pcbRead)] void *pv, [in] ULONG cb, [out] ULONG *pcbRead)
CLSID persistClass
Definition: shlobj_undoc.h:46
ULONG pidlSize
Definition: shlobj_undoc.h:47
uint32_t ULONG
Definition: typedefs.h:59

◆ LoadHistoryPosition()

HRESULT STDMETHODCALLTYPE CShellBrowser::LoadHistoryPosition ( LPWSTR  pszUrlLocation,
DWORD  dwPosition 
)
override

Implements ITravelLogClient.

Definition at line 3646 of file shellbrowser.cpp.

3647{
3648 return E_NOTIMPL;
3649}

◆ Navigate()

HRESULT STDMETHODCALLTYPE CShellBrowser::Navigate ( BSTR  URL,
VARIANT Flags,
VARIANT TargetFrameName,
VARIANT PostData,
VARIANT Headers 
)
override

Definition at line 3217 of file shellbrowser.cpp.

3219{
3221 HRESULT hResult;
3222 CComPtr<IShellFolder> pDesktop;
3223
3224 hResult = SHGetDesktopFolder(&pDesktop);
3225 if (FAILED_UNEXPECTEDLY(hResult))
3226 return hResult;
3227 hResult = pDesktop->ParseDisplayName(NULL, NULL, URL, NULL, &pidl, NULL);
3228 if (FAILED_UNEXPECTEDLY(hResult))
3229 return hResult;
3230 return BrowseObject(pidl, 1);
3231}
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)

Referenced by Navigate2().

◆ Navigate2()

HRESULT STDMETHODCALLTYPE CShellBrowser::Navigate2 ( VARIANT URL,
VARIANT Flags,
VARIANT TargetFrameName,
VARIANT PostData,
VARIANT Headers 
)
override

Definition at line 3479 of file shellbrowser.cpp.

3481{
3482 LPITEMIDLIST pidl = NULL;
3483 HRESULT hResult;
3484 // called from drive combo box to navigate to a directory
3485 // Also called by search band to display shell results folder view
3486
3487 if (V_VT(URL) == VT_BSTR)
3488 {
3489 return this->Navigate(V_BSTR(URL), Flags, TargetFrameName, PostData, Headers);
3490 }
3491 if (V_VT(URL) == (VT_ARRAY | VT_UI1))
3492 {
3493 if (V_ARRAY(URL)->cDims != 1 || V_ARRAY(URL)->cbElements != 1)
3494 return E_INVALIDARG;
3495
3496 pidl = static_cast<LPITEMIDLIST>(V_ARRAY(URL)->pvData);
3497 }
3499 if (FAILED_UNEXPECTEDLY(hResult))
3500 return hResult;
3501 return S_OK;
3502}
STDMETHOD() Navigate(BSTR URL, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) override
@ VT_ARRAY
Definition: compat.h:2341
@ VT_UI1
Definition: compat.h:2311
#define V_ARRAY(A)
Definition: oleauto.h:222

◆ NavigateToParent()

HRESULT CShellBrowser::NavigateToParent ( )

Definition at line 1410 of file shellbrowser.cpp.

1411{
1413 if (newDirectory == NULL)
1414 return E_OUTOFMEMORY;
1415 if (_ILIsDesktop(newDirectory))
1416 {
1417 ILFree(newDirectory);
1418 return E_INVALIDARG;
1419 }
1420 ILRemoveLastID(newDirectory);
1422 ILFree(newDirectory);
1423 if (FAILED_UNEXPECTEDLY(hResult))
1424 return hResult;
1425 return S_OK;
1426}
BOOL _ILIsDesktop(LPCITEMIDLIST pidl)
Definition: CBandSite.h:24

Referenced by BrowseObject(), Exec(), OnBackspace(), and OnGoUpLevel().

◆ NavigateToPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::NavigateToPidl ( LPCITEMIDLIST  pidl,
DWORD  grfHLNF 
)
override

Definition at line 2706 of file shellbrowser.cpp.

2707{
2708 return _NavigateToPidl(pidl, grfHLNF, 0);
2709}
STDMETHOD() _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) override

◆ NotifyRedirect()

HRESULT STDMETHODCALLTYPE CShellBrowser::NotifyRedirect ( IShellView psv,
LPCITEMIDLIST  pidl,
BOOL pfDidBrowse 
)
override

Definition at line 2721 of file shellbrowser.cpp.

2722{
2723 return E_NOTIMPL;
2724}

◆ Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::Offline ( int  iCmd)
override

Implements IBrowserService2.

Definition at line 2930 of file shellbrowser.cpp.

2931{
2932 return E_NOTIMPL;
2933}

◆ OnAboutReactOS()

LRESULT CShellBrowser::OnAboutReactOS ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3942 of file shellbrowser.cpp.

3943{
3944 ShellAbout(m_hWnd, _T("ReactOS"), NULL, NULL);
3945 return 0;
3946}
#define ShellAbout
Definition: shellapi.h:731

◆ OnAddToFavorites()

LRESULT CShellBrowser::OnAddToFavorites ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4002 of file shellbrowser.cpp.

4003{
4005 LPCITEMIDLIST pidlLast;
4008 return hr;
4009
4010 STRRET strret;
4011 hr = pParent->GetDisplayNameOf(pidlLast, SHGDN_FORPARSING, &strret);
4013 return 0;
4014
4015 CComHeapPtr<WCHAR> pszURL;
4016 hr = StrRetToStrW(&strret, NULL, &pszURL);
4018 return 0;
4019
4020 AddUrlToFavorites(m_hWnd, pszURL, NULL, TRUE);
4021 return 0;
4022}
EXTERN_C HRESULT WINAPI AddUrlToFavorites(_In_ HWND hwnd, _In_ LPCWSTR pszUrlW, _In_opt_ LPCWSTR pszTitleW, _In_ BOOL fDisplayUI)
Definition: utility.cpp:192
HRESULT WINAPI StrRetToStrW(LPSTRRET lpStrRet, const ITEMIDLIST *pidl, LPWSTR *ppszName)
Definition: string.c:1631
FxObject * pParent
Definition: fxdpcapi.cpp:86

◆ OnAppCommand()

LRESULT CShellBrowser::OnAppCommand ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4187 of file shellbrowser.cpp.

4188{
4189 UINT uCmd = GET_APPCOMMAND_LPARAM(lParam), uExecCmd = 0;
4190 switch (uCmd)
4191 {
4192 case APPCOMMAND_BROWSER_BACKWARD: uExecCmd = IDM_GOTO_BACK; break;
4193 case APPCOMMAND_BROWSER_FORWARD: uExecCmd = IDM_GOTO_FORWARD; break;
4194 case APPCOMMAND_BROWSER_REFRESH: uExecCmd = IDM_VIEW_REFRESH; break;
4195 case APPCOMMAND_BROWSER_STOP: uExecCmd = FCIDM_BROWSER_STOP; break; // TODO: Handle Stop()
4196 case APPCOMMAND_BROWSER_SEARCH: uExecCmd = IDM_EXPLORERBAR_SEARCH; break;
4197 case APPCOMMAND_BROWSER_FAVORITES: uExecCmd = IDM_EXPLORERBAR_FAVORITES; break;
4198 case APPCOMMAND_BROWSER_HOME: uExecCmd = IDM_GOTO_HOMEPAGE; break;
4199 }
4200 if (uExecCmd)
4201 {
4202 SendMessage(WM_COMMAND, uExecCmd, 0);
4203 bHandled = TRUE;
4204 return TRUE;
4205 }
4206 return 0;
4207}
LPARAM lParam
Definition: combotst.c:139
#define IDM_VIEW_REFRESH
Definition: resource.h:50
#define IDM_EXPLORERBAR_FAVORITES
Definition: resource.h:41
#define IDM_GOTO_FORWARD
Definition: resource.h:47
#define IDM_GOTO_HOMEPAGE
Definition: resource.h:49
#define IDM_GOTO_BACK
Definition: resource.h:46
#define IDM_EXPLORERBAR_SEARCH
Definition: resource.h:40
#define FCIDM_BROWSER_STOP
Definition: resource.h:67
#define WM_COMMAND
Definition: winuser.h:1759

◆ OnBackspace()

LRESULT CShellBrowser::OnBackspace ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3980 of file shellbrowser.cpp.

3981{
3982 HRESULT hResult;
3983 if (LOBYTE(GetVersion()) < 6)
3984 hResult = NavigateToParent();
3985 else if (FAILED(hResult = GoBack()))
3986 hResult = GoForward();
3987
3988 if (FAILED(hResult))
3989 TRACE("Backspace navigation failed with hResult=%08lx\n", hResult);
3990 return 0;
3991}
DWORD WINAPI GetVersion(void)
Definition: version.c:1458
#define LOBYTE(W)
Definition: jmemdos.c:487

◆ OnCabinetStateChange()

LRESULT CShellBrowser::OnCabinetStateChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4156 of file shellbrowser.cpp.

4157{
4159 return 0;
4160}
void RefreshCabinetState()

◆ OnClose()

LRESULT CShellBrowser::OnClose ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3915 of file shellbrowser.cpp.

3916{
3917 return SendMessage(WM_CLOSE);
3918}
#define WM_CLOSE
Definition: winuser.h:1640

◆ OnCreate() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnCreate ( struct tagCREATESTRUCTW pcs)
override

Implements IBrowserService2.

Definition at line 2852 of file shellbrowser.cpp.

2853{
2855 return S_OK;
2856}
#define GetModuleHandle
Definition: winbase.h:3868
HACCEL WINAPI LoadAcceleratorsW(_In_opt_ HINSTANCE, _In_ LPCWSTR)

Referenced by OnCreate().

◆ OnCreate() [2/2]

LRESULT CShellBrowser::OnCreate ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3745 of file shellbrowser.cpp.

3746{
3747 OnCreate(reinterpret_cast<LPCREATESTRUCT> (lParam));
3748 return 0;
3749}
STDMETHOD() OnCreate(struct tagCREATESTRUCTW *pcs) override

◆ OnDestroy() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnDestroy ( )
override

Implements IBrowserService2.

Definition at line 2863 of file shellbrowser.cpp.

2864{
2865 return E_NOTIMPL;
2866}

◆ OnDestroy() [2/2]

LRESULT CShellBrowser::OnDestroy ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3751 of file shellbrowser.cpp.

3752{
3753 HRESULT hr;
3754 if (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_ROS_KIOSK))
3755 {
3757 put_MenuBar(VARIANT_TRUE);
3759 put_StatusBar(VARIANT_TRUE);
3760 }
3761 SaveViewState();
3762
3763 /* The current thread is about to go down so render any IDataObject that may be left in the clipboard */
3765
3766 // TODO: rip down everything
3767 {
3768 m_Destroyed = true; // Ignore browse requests from Explorer band TreeView during destruction
3769 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
3771 fCurrentShellView->DestroyViewWindow();
3772
3773 for (int i = 0; i < 3; i++)
3774 {
3777 CComPtr<IUnknown> pBarSite;
3778
3779 if (fClientBars[i].clientBar == NULL)
3780 continue;
3781
3782 hr = fClientBars[i].clientBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &pdw));
3784 continue;
3785
3786 /* We should destroy our basebarsite too */
3787 hr = pdw->QueryInterface(IID_PPV_ARG(IDeskBar, &bar));
3788 if (SUCCEEDED(hr))
3789 {
3790 hr = bar->GetClient(&pBarSite);
3791 if (SUCCEEDED(hr) && pBarSite)
3792 {
3794 hr = pBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &pClient));
3795 if (SUCCEEDED(hr))
3796 pClient->SetDeskBarSite(NULL);
3797 }
3798 }
3799 pdw->CloseDW(0);
3800
3801 pBarSite = NULL;
3802 pdw = NULL;
3803 bar = NULL;
3804 ReleaseCComPtrExpectZero(fClientBars[i].clientBar);
3805 }
3806 ReleaseCComPtrExpectZero(fCurrentShellView);
3807 ReleaseCComPtrExpectZero(fTravelLog);
3808
3814 }
3815 PostQuitMessage(0);
3816 return 0;
3817}
BOOL DestroyWindow()
Definition: atlwin.h:462
STDMETHOD() put_StatusBar(VARIANT_BOOL Value) override
BYTE m_NonFullscreenState
STDMETHOD() put_MenuBar(VARIANT_BOOL Value) override
HRESULT WINAPI OleFlushClipboard(void)
Definition: clipboard.c:2293
void bar()
Definition: ehthrow.cxx:142
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)

◆ OnDisconnectNetworkDrive()

LRESULT CShellBrowser::OnDisconnectNetworkDrive ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3936 of file shellbrowser.cpp.

3937{
3939 return 0;
3940}
#define RESOURCETYPE_DISK
Definition: winnetwk.h:64
DWORD WINAPI WNetDisconnectDialog(HWND hwnd, DWORD dwType)
Definition: wnet.c:2954

◆ OnDisplayChange()

LRESULT CShellBrowser::OnDisplayChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4252 of file shellbrowser.cpp.

4253{
4255 return 0;
4256}
UINT WPARAM wParam
#define BWM_ONDISPLAYCHANGEDELAYED
#define PostMessage
Definition: winuser.h:5917

◆ OnDisplayChangeDelayed()

LRESULT CShellBrowser::OnDisplayChangeDelayed ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4258 of file shellbrowser.cpp.

4259{
4260 if (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_ROS_KIOSK)) // Resize fullscreen on resolution change (CORE-20072)
4261 {
4265 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4266 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4268 }
4269 return 0;
4270}
static void GetWindowMonitorInfo(HWND hWnd, MONITORINFO &mi)
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
static MONITORINFO mi
Definition: win.c:7338
RECT rcMonitor
Definition: winuser.h:3861
#define HWND_TOPMOST
Definition: winuser.h:1219
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define SWP_NOCOPYBITS
Definition: winuser.h:1254
#define SWP_NOZORDER
Definition: winuser.h:1258

◆ OnExplorerBar()

LRESULT CShellBrowser::OnExplorerBar ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4115 of file shellbrowser.cpp.

4116{
4117 // TODO: HACK ! use the proper mechanism to show the band (i.e. pass the BSTR to basebar)
4119 {
4120 MenuBandInfo *mbi;
4122 if (!mbi)
4123 return 0;
4124 ShowBand(mbi->barGuid, mbi->fVertical);
4125 bHandled = TRUE;
4126 return 1;
4127 }
4128 switch (wID)
4129 {
4131 ShowBand(CLSID_FileSearchBand, true);
4132 break;
4134 ShowBand(CLSID_ExplorerBand, true);
4135 break;
4137 ShowBand(CLSID_SH_HistBand, true);
4138 break;
4140 ShowBand(CLSID_SH_FavBand, true);
4141 break;
4142 default:
4143 WARN("Unknown id %x\n", wID);
4144 }
4145 bHandled = TRUE;
4146 return 1;
4147}
#define WARN(fmt,...)
Definition: precomp.h:61
#define IDM_EXPLORERBAR_FOLDERS
Definition: resource.h:44
#define IDM_EXPLORERBAR_HISTORY
Definition: resource.h:43
#define IDM_EXPLORERBAND_ENDCUSTOM
Definition: resource.h:83
LPVOID WINAPI DSA_GetItemPtr(HDSA hdsa, INT nIndex)
Definition: dsa.c:162

◆ OnFolderOptions()

LRESULT CShellBrowser::OnFolderOptions ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3920 of file shellbrowser.cpp.

3921{
3922 HRESULT hResult = DoFolderOptions();
3923 if (FAILED(hResult))
3924 TRACE("DoFolderOptions failed with hResult=%08lx\n", hResult);
3925 return 0;
3926}

◆ OnFrameWindowActivateBS()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnFrameWindowActivateBS ( BOOL  fActive)
override

Implements IBrowserService2.

Definition at line 2878 of file shellbrowser.cpp.

2879{
2880 return E_NOTIMPL;
2881}

◆ OnGetSettingsPtr()

LRESULT CShellBrowser::OnGetSettingsPtr ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4177 of file shellbrowser.cpp.

4178{
4179 if (!lParam)
4181
4183 return NO_ERROR;
4184}
#define NO_ERROR
Definition: dderror.h:5
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101

◆ OnGoBack()

LRESULT CShellBrowser::OnGoBack ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3948 of file shellbrowser.cpp.

3949{
3950 HRESULT hResult = GoBack();
3951 if (FAILED(hResult))
3952 TRACE("GoBack failed with hResult=%08lx\n", hResult);
3953 return 0;
3954}

◆ OnGoForward()

LRESULT CShellBrowser::OnGoForward ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3956 of file shellbrowser.cpp.

3957{
3958 HRESULT hResult = GoForward();
3959 if (FAILED(hResult))
3960 TRACE("GoForward failed with hResult=%08lx\n", hResult);
3961 return 0;
3962}

◆ OnGoHome()

LRESULT CShellBrowser::OnGoHome ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3972 of file shellbrowser.cpp.

3973{
3974 HRESULT hResult = GoHome();
3975 if (FAILED(hResult))
3976 TRACE("GoHome failed with hResult=%08lx\n", hResult);
3977 return 0;
3978}
STDMETHOD() GoHome() override

◆ OnGoTravel()

LRESULT CShellBrowser::OnGoTravel ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4110 of file shellbrowser.cpp.

4111{
4112 return 0;
4113}

◆ OnGoUpLevel()

LRESULT CShellBrowser::OnGoUpLevel ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3964 of file shellbrowser.cpp.

3965{
3966 HRESULT hResult = NavigateToParent();
3967 if (FAILED(hResult))
3968 TRACE("NavigateToParent failed with hResult=%08lx\n", hResult);
3969 return 0;
3970}

◆ OnHttpEquiv()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnHttpEquiv ( IShellView psv,
BOOL  fDone,
VARIANT pvarargIn,
VARIANT pvarargOut 
)
override

Implements IBrowserService.

Definition at line 2810 of file shellbrowser.cpp.

2812{
2813 return E_NOTIMPL;
2814}

◆ OnInitMenuPopup()

LRESULT CShellBrowser::OnInitMenuPopup ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3848 of file shellbrowser.cpp.

3849{
3850 HMENU theMenu;
3851 LPARAM menuIndex = lParam;
3852
3853 theMenu = reinterpret_cast<HMENU>(wParam);
3854
3856 {
3857 menuIndex = 0;
3858 }
3859 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_EDIT))
3860 {
3861 menuIndex = 1;
3862 }
3863 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW))
3864 {
3865 UpdateViewMenu(theMenu);
3866 menuIndex = 2;
3867 }
3869 {
3870 menuIndex = 3;
3871 }
3872 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_TOOLS))
3873 {
3874 // FIXME: Remove once implemented
3877 menuIndex = 4;
3878 }
3879 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_HELP))
3880 {
3881 menuIndex = 5;
3882 }
3883
3884 LRESULT ret = RelayMsgToShellView(uMsg, wParam, menuIndex, bHandled);
3885
3886 return ret;
3887}
LRESULT RelayMsgToShellView(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
void UpdateViewMenu(HMENU theMenu)
#define IDM_TOOLS_MAPNETWORKDRIVE
Definition: resource.h:54
#define IDM_TOOLS_SYNCHRONIZE
Definition: resource.h:56
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
Definition: ordinal.c:1781
#define FCIDM_MENU_FAVORITES
Definition: shlobj.h:647
#define FCIDM_MENU_HELP
Definition: shlobj.h:644
#define FCIDM_MENU_FILE
Definition: shlobj.h:638
#define FCIDM_MENU_TOOLS
Definition: shlobj.h:642
#define FCIDM_MENU_VIEW
Definition: shlobj.h:640
#define FCIDM_MENU_EDIT
Definition: shlobj.h:639
int ret
LONG_PTR LRESULT
Definition: windef.h:209

◆ OnMapNetworkDrive()

LRESULT CShellBrowser::OnMapNetworkDrive ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 3928 of file shellbrowser.cpp.

3929{
3930#ifndef __REACTOS__
3932#endif /* __REACTOS__ */
3933 return 0;
3934}
DWORD WINAPI WNetConnectionDialog(HWND hwnd, DWORD dwType)
Definition: wnet.c:2913

◆ OnOrganizeFavorites()

LRESULT CShellBrowser::OnOrganizeFavorites ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4024 of file shellbrowser.cpp.

4025{
4026 CComPtr<IShellFolder> psfDesktop;
4027 LPITEMIDLIST pidlFavs;
4028 HRESULT hr = GetFavsLocation(m_hWnd, &pidlFavs);
4030 return 0;
4031
4032 hr = SHGetDesktopFolder(&psfDesktop);
4034 {
4035 ILFree(pidlFavs);
4036 return 0;
4037 }
4038
4039 hr = SHInvokeDefaultCommand(m_hWnd, psfDesktop, pidlFavs);
4040 ILFree(pidlFavs);
4042 return 0;
4043
4044 return 0;
4045}
HRESULT GetFavsLocation(HWND hWnd, LPITEMIDLIST *pPidl)
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
Definition: ordinal.c:3060

◆ OnRefresh()

LRESULT CShellBrowser::OnRefresh ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4103 of file shellbrowser.cpp.

4104{
4106 fCurrentShellView->Refresh();
4107 return 0;
4108}

◆ OnSearch()

HRESULT CShellBrowser::OnSearch ( )

Definition at line 1962 of file shellbrowser.cpp.

1963{
1964 CComPtr<IObjectWithSite> objectWithSite;
1965 CComPtr<IContextMenu> contextMenu;
1966 CMINVOKECOMMANDINFO commandInfo;
1967 const char *searchGUID = "{169A0691-8DF9-11d1-A1C4-00C04FD75D13}";
1968 HRESULT hResult;
1969
1970 // TODO: Query shell if this command is enabled first
1971
1972 memset(&commandInfo, 0, sizeof(commandInfo));
1973 commandInfo.cbSize = sizeof(commandInfo);
1974 commandInfo.hwnd = m_hWnd;
1975 commandInfo.lpParameters = searchGUID;
1976 commandInfo.nShow = SW_SHOWNORMAL;
1977
1978 hResult = CoCreateInstance(CLSID_ShellSearchExt, NULL, CLSCTX_INPROC_SERVER,
1979 IID_PPV_ARG(IContextMenu, &contextMenu));
1980 if (FAILED_UNEXPECTEDLY(hResult))
1981 return 0;
1982 hResult = contextMenu->QueryInterface(IID_PPV_ARG(IObjectWithSite, &objectWithSite));
1983 if (FAILED_UNEXPECTEDLY(hResult))
1984 return 0;
1985 hResult = objectWithSite->SetSite(dynamic_cast<IShellBrowser*>(this));
1986 if (FAILED_UNEXPECTEDLY(hResult))
1987 return 0;
1988 hResult = contextMenu->InvokeCommand(&commandInfo);
1989 hResult = objectWithSite->SetSite(NULL);
1990 return hResult;
1991}

◆ OnSetFocus() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSetFocus ( )
override

Implements IBrowserService2.

Definition at line 2873 of file shellbrowser.cpp.

2874{
2875 return E_NOTIMPL;
2876}

◆ OnSetFocus() [2/2]

LRESULT CShellBrowser::OnSetFocus ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3889 of file shellbrowser.cpp.

3890{
3892 return 0;
3893}
HWND SetFocus()
Definition: atlwin.h:1198

◆ OnSettingChange()

LRESULT CShellBrowser::OnSettingChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3902 of file shellbrowser.cpp.

3903{
3906 return 0;
3907}
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
Definition: ordinal.c:1719

◆ OnSettingsChange()

LRESULT CShellBrowser::OnSettingsChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4162 of file shellbrowser.cpp.

4163{
4164 /* Refresh child windows */
4166
4167 /* Refresh status bar */
4168 if (fStatusBar)
4169 {
4172 }
4173
4174 return 0;
4175}
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define SW_HIDE
Definition: winuser.h:779
#define SW_SHOW
Definition: winuser.h:786
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

◆ OnSize() [1/2]

LRESULT CShellBrowser::OnSize ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3819 of file shellbrowser.cpp.

3820{
3821 CComPtr<IDockingWindow> dockingWindow;
3822 RECT availableBounds;
3823 static const INT excludeItems[] = {1, 1, 1, IDC_STATUSBAR, 0, 0};
3824 HRESULT hResult;
3825
3826 if (wParam != SIZE_MINIMIZED)
3827 {
3828 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
3829 for (INT x = 0; x < 3; x++)
3830 {
3831 if (fClientBars[x].clientBar)
3832 {
3833 hResult = fClientBars[x].clientBar->QueryInterface(
3834 IID_PPV_ARG(IDockingWindow, &dockingWindow));
3835 if (SUCCEEDED(hResult) && dockingWindow != NULL)
3836 {
3837 hResult = dockingWindow->ResizeBorderDW(
3838 &availableBounds, static_cast<IDropTarget *>(this), TRUE);
3839 break;
3840 }
3841 }
3842 }
3844 }
3845 return 1;
3846}
#define SIZE_MINIMIZED
Definition: winuser.h:2525

◆ OnSize() [2/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSize ( WPARAM  wParam)
override

Implements IBrowserService2.

Definition at line 2847 of file shellbrowser.cpp.

2848{
2849 return E_NOTIMPL;
2850}

◆ OnSysColorChange()

LRESULT CShellBrowser::OnSysColorChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3909 of file shellbrowser.cpp.

3910{
3912 return 0;
3913}

◆ OnToggleAddressBandVisible()

LRESULT CShellBrowser::OnToggleAddressBandVisible ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4071 of file shellbrowser.cpp.

4072{
4073 HRESULT hResult;
4074 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4075 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
4076 return 0;
4077}

◆ OnToggleFullscreen()

LRESULT CShellBrowser::OnToggleFullscreen ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4209 of file shellbrowser.cpp.

4210{
4211 const UINT OrgUiSetAuto = m_BrowserSvcFlags & BSF_UISETBYAUTOMATION;
4212 const BOOL fCurrentlyFullscreen = (m_BrowserSvcFlags & BSF_THEATERMODE);
4213 const BOOL fEnter = wID ? !fCurrentlyFullscreen : wNotifyCode;
4215 if (fEnter)
4216 {
4217 VARIANT_BOOL varb;
4218 m_NonFullscreenState = (m_BrowserSvcFlags & BSF_RESIZABLE) ? FSF_RESIZE : 0;
4219 m_NonFullscreenState |= (FAILED(get_MenuBar(&varb)) || varb) ? FSF_MBAR : 0;
4220 m_NonFullscreenState |= (FAILED(get_StatusBar(&varb)) || varb) ? FSF_SBAR : 0;
4222 SetFlags(BSF_THEATERMODE, BSF_THEATERMODE);
4223 put_MenuBar(VARIANT_FALSE);
4224 put_StatusBar(VARIANT_FALSE);
4230 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4231 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4233 }
4234 else
4235 {
4236 SetFlags(0, BSF_THEATERMODE);
4237 put_MenuBar((m_NonFullscreenState & FSF_MBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4238 put_StatusBar((m_NonFullscreenState & FSF_SBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4241 SHSetWindowBits(hWnd, GWL_STYLE, styles | WS_THICKFRAME, styles);
4246 }
4247 SetFlags(OrgUiSetAuto, BSF_UISETBYAUTOMATION);
4249 return 0;
4250}
STDMETHOD() SetFlags(DWORD dwFlags, DWORD dwFlagMask) override
STDMETHOD() get_MenuBar(VARIANT_BOOL *Value) override
STDMETHOD() get_StatusBar(VARIANT_BOOL *pBool) override
short VARIANT_BOOL
Definition: compat.h:2290
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT mask, UINT flags)
Definition: ordinal.c:1130
#define WS_CAPTION
Definition: pedump.c:624
#define WS_MAXIMIZE
Definition: pedump.c:623
#define WS_BORDER
Definition: pedump.c:625
#define WS_DLGFRAME
Definition: pedump.c:626
#define WS_THICKFRAME
Definition: pedump.c:630
#define SW_SHOWMAXIMIZED
Definition: winuser.h:784
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
#define SWP_FRAMECHANGED
Definition: winuser.h:1251
#define SWP_NOMOVE
Definition: winuser.h:1255
#define SW_SHOWNOACTIVATE
Definition: winuser.h:785
#define SWP_NOSIZE
Definition: winuser.h:1256
#define RDW_UPDATENOW
Definition: winuser.h:1231
#define HWND_TOP
Definition: winuser.h:1218
#define RDW_ALLCHILDREN
Definition: winuser.h:1232
#define RDW_FRAME
Definition: winuser.h:1223
#define WS_EX_WINDOWEDGE
Definition: winuser.h:407
#define GWL_STYLE
Definition: winuser.h:863
#define RDW_INVALIDATE
Definition: winuser.h:1225
#define GWL_EXSTYLE
Definition: winuser.h:862

Referenced by put_TheaterMode().

◆ OnToggleLinksBandVisible()

LRESULT CShellBrowser::OnToggleLinksBandVisible ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4079 of file shellbrowser.cpp.

4080{
4081 HRESULT hResult;
4082 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4083 CGID_PrivCITCommands, ITID_LINKSBANDSHOWN, 0, NULL, NULL);
4084 return 0;
4085}
#define ITID_LINKSBANDSHOWN
Definition: undocshell.h:913

◆ OnToggleStatusBarVisible()

LRESULT CShellBrowser::OnToggleStatusBarVisible ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4047 of file shellbrowser.cpp.

4048{
4050 m_settings.Save();
4052 return 0;
4053}
#define BWM_SETTINGCHANGE
Definition: settings.h:10

Referenced by ShowControlWindow().

◆ OnToggleTextLabels()

LRESULT CShellBrowser::OnToggleTextLabels ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4087 of file shellbrowser.cpp.

4088{
4089 HRESULT hResult;
4090 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4091 CGID_PrivCITCommands, ITID_TEXTLABELS, 0, NULL, NULL);
4092 return 0;
4093}
#define ITID_TEXTLABELS
Definition: undocshell.h:910

◆ OnToggleToolbarBandVisible()

LRESULT CShellBrowser::OnToggleToolbarBandVisible ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4063 of file shellbrowser.cpp.

4064{
4065 HRESULT hResult;
4066 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4067 CGID_PrivCITCommands, ITID_TOOLBARBANDSHOWN, 0, NULL, NULL);
4068 return 0;
4069}
#define ITID_TOOLBARBANDSHOWN
Definition: undocshell.h:911

◆ OnToggleToolbarLock()

LRESULT CShellBrowser::OnToggleToolbarLock ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4055 of file shellbrowser.cpp.

4056{
4057 HRESULT hResult;
4058 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4059 CGID_PrivCITCommands, ITID_TOOLBARLOCKED, 0, NULL, NULL);
4060 return 0;
4061}
#define ITID_TOOLBARLOCKED
Definition: undocshell.h:917

◆ OnToolbarCustomize()

LRESULT CShellBrowser::OnToolbarCustomize ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)

Definition at line 4095 of file shellbrowser.cpp.

4096{
4097 HRESULT hResult;
4098 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4099 CGID_PrivCITCommands, ITID_CUSTOMIZEENABLED, 0, NULL, NULL);
4100 return 0;
4101}
#define ITID_CUSTOMIZEENABLED
Definition: undocshell.h:916

◆ OnViewWindowActive()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnViewWindowActive ( IShellView ppshv)
override

Implements IShellBrowser.

Definition at line 2482 of file shellbrowser.cpp.

2483{
2484 return E_NOTIMPL;
2485}

◆ OpenNewBrowserWindow()

HRESULT CShellBrowser::OpenNewBrowserWindow ( LPCITEMIDLIST  pidl,
UINT  SbspFlags 
)

Definition at line 875 of file shellbrowser.cpp.

876{
877 SaveITBarLayout(); // Do this now so the new window inherits the current layout
878 // TODO: www.geoffchappell.com/studies/windows/ie/shdocvw/interfaces/inotifyappstart.htm
879 DWORD flags = (SbspFlags & SBSP_EXPLOREMODE) ? SH_EXPLORER_CMDLINE_FLAG_E : 0;
880 if ((SbspFlags & (SBSP_OPENMODE | SBSP_EXPLOREMODE)) == SBSP_DEFMODE)
882 LPITEMIDLIST pidlDir;
883 HRESULT hr = SHILClone(pidl, &pidlDir);
884 if (FAILED(hr))
885 return hr;
886 // TODO: !SBSP_NOTRANSFERHIST means we are supposed to pass the history here somehow?
888}
#define SH_EXPLORER_CMDLINE_FLAG_NEWWND
#define SH_EXPLORER_CMDLINE_FLAG_NOREUSE
#define SH_EXPLORER_CMDLINE_FLAG_E
HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags)
Definition: desktopipc.cpp:591

Referenced by BrowseObject().

◆ put_AddressBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_AddressBar ( VARIANT_BOOL  Value)
override

Definition at line 3607 of file shellbrowser.cpp.

3608{
3609 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3610 HRESULT hr = ShowControlWindow(FCW_ADDRESSBAR, Value != VARIANT_FALSE);
3612 return hr;
3613}
STDMETHOD() ShowControlWindow(UINT id, BOOL fShow) override
HRESULT FireEvent_VBOOL(DISPID dispIdMember, VARIANT_BOOL Param1)
#define DISPID_ONADDRESSBAR
Definition: webchild.h:63

◆ put_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_FullScreen ( VARIANT_BOOL  bFullScreen)
override

Definition at line 3470 of file shellbrowser.cpp.

3471{
3472 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3473 SetFlags(bFullScreen ? BSF_ROS_KIOSK : 0, BSF_ROS_KIOSK);
3474 put_TheaterMode(bFullScreen);
3476 return S_OK;
3477}
STDMETHOD() put_TheaterMode(VARIANT_BOOL bRegister) override
#define DISPID_ONFULLSCREEN
Definition: webchild.h:60

◆ put_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Height ( long  Height)
override

Definition at line 3325 of file shellbrowser.cpp.

3326{
3327 return E_NOTIMPL;
3328}

◆ put_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Left ( long  Left)
override

Definition at line 3295 of file shellbrowser.cpp.

3296{
3297 return E_NOTIMPL;
3298}

◆ put_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_MenuBar ( VARIANT_BOOL  Value)
override

Definition at line 3456 of file shellbrowser.cpp.

3457{
3458 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3459 HRESULT hr = ShowControlWindow(FCW_MENU, Value != VARIANT_FALSE);
3461 return hr;
3462}
#define DISPID_ONMENUBAR
Definition: webchild.h:58

Referenced by OnDestroy(), and OnToggleFullscreen().

◆ put_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Offline ( VARIANT_BOOL  bOffline)
override

Definition at line 3547 of file shellbrowser.cpp.

3548{
3549 return E_NOTIMPL;
3550}

◆ put_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsBrowser ( VARIANT_BOOL  bRegister)
override

Definition at line 3568 of file shellbrowser.cpp.

3569{
3570 if (!bRegister)
3571 return E_UNEXPECTED;
3573 return RegisterWindow(TRUE, SWC_3RDPARTY);
3574}
STDMETHOD() RegisterWindow(BOOL fForceRegister, int swc) override

◆ put_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsDropTarget ( VARIANT_BOOL  bRegister)
override

Definition at line 3582 of file shellbrowser.cpp.

3583{
3584 SetFlags(bRegister ? BSF_REGISTERASDROPTARGET : 0, BSF_REGISTERASDROPTARGET);
3585 return S_OK;
3586}

◆ put_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Resizable ( VARIANT_BOOL  Value)
override

Definition at line 3621 of file shellbrowser.cpp.

3622{
3623 SetFlags(Value ? (BSF_RESIZABLE | BSF_CANMAXIMIZE) : 0, (BSF_RESIZABLE | BSF_CANMAXIMIZE));
3624 return S_OK;
3625}

◆ put_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Silent ( VARIANT_BOOL  bSilent)
override

Definition at line 3557 of file shellbrowser.cpp.

3558{
3559 return E_NOTIMPL;
3560}

◆ put_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusBar ( VARIANT_BOOL  Value)
override

Definition at line 3414 of file shellbrowser.cpp.

3415{
3416 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3417 HRESULT hr = ShowControlWindow(FCW_STATUS, Value != VARIANT_FALSE);
3419 return hr;
3420}
#define DISPID_ONSTATUSBAR
Definition: webchild.h:59

Referenced by OnDestroy(), and OnToggleFullscreen().

◆ put_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusText ( BSTR  StatusText)
override

Definition at line 3427 of file shellbrowser.cpp.

3428{
3429 SendControlMsg(FCW_STATUS, SB_SETTEXTW, 0, (LPARAM)StatusText, NULL);
3430 return S_OK;
3431}
STDMETHOD() SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret) override
#define SB_SETTEXTW
Definition: commctrl.h:1947

◆ put_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_TheaterMode ( VARIANT_BOOL  bRegister)
override

Definition at line 3594 of file shellbrowser.cpp.

3595{
3596 BOOL handled;
3597 OnToggleFullscreen(bRegister, 0, NULL, handled);
3598 return S_OK;
3599}
LRESULT OnToggleFullscreen(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)

Referenced by put_FullScreen().

◆ put_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_ToolBar ( int  Value)
override

Definition at line 3441 of file shellbrowser.cpp.

3442{
3443 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3444 ShowControlWindow(FCW_INTERNETBAR, Value != VARIANT_FALSE && Value != FCW_TOOLBAR);
3445 ShowControlWindow(FCW_TOOLBAR, Value == FCW_TOOLBAR);
3447 return S_OK;
3448}
#define DISPID_ONTOOLBAR
Definition: webchild.h:57

◆ put_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Top ( long  Top)
override

Definition at line 3305 of file shellbrowser.cpp.

3306{
3307 return E_NOTIMPL;
3308}

◆ put_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Visible ( VARIANT_BOOL  Value)
override

Definition at line 3396 of file shellbrowser.cpp.

3397{
3399 {
3401 if (Value)
3404 }
3405 return S_OK;
3406}
#define DISPID_ONVISIBLE
Definition: webchild.h:56
BOOL WINAPI SetForegroundWindow(_In_ HWND)

◆ put_Width()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Width ( long  Width)
override

Definition at line 3315 of file shellbrowser.cpp.

3316{
3317 return E_NOTIMPL;
3318}

◆ PutProperty()

HRESULT STDMETHODCALLTYPE CShellBrowser::PutProperty ( BSTR  Property,
VARIANT  vtValue 
)
override

Definition at line 3358 of file shellbrowser.cpp.

3359{
3360 return E_NOTIMPL;
3361}

◆ QueryActiveShellView()

HRESULT STDMETHODCALLTYPE CShellBrowser::QueryActiveShellView ( IShellView **  ppshv)
override

Implements IShellBrowser.

Definition at line 2469 of file shellbrowser.cpp.

2470{
2471 if (ppshv == NULL)
2472 return E_POINTER;
2473 *ppshv = fCurrentShellView;
2474 if (fCurrentShellView.p != NULL)
2475 {
2477 return S_OK;
2478 }
2479 return E_FAIL;
2480}

◆ QueryService()

HRESULT STDMETHODCALLTYPE CShellBrowser::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
)
override

Implements IServiceProvider.

Definition at line 2514 of file shellbrowser.cpp.

2515{
2516 // view does a query for SID_STopLevelBrowser, IID_IShellBrowserService
2517 // the returned interface has a method GetPropertyBag on it
2518 if (IsEqualIID(guidService, SID_STopLevelBrowser))
2519 return this->QueryInterface(riid, ppvObject);
2520 if (IsEqualIID(guidService, SID_SShellBrowser))
2521 return this->QueryInterface(riid, ppvObject);
2522 if (IsEqualIID(guidService, SID_ITargetFrame2))
2523 return this->QueryInterface(riid, ppvObject);
2524 if (IsEqualIID(guidService, SID_IWebBrowserApp)) // without this, the internet toolbar won't reflect notifications
2525 return this->QueryInterface(riid, ppvObject);
2526 if (IsEqualIID(guidService, SID_SProxyBrowser))
2527 return this->QueryInterface(riid, ppvObject);
2528 if (IsEqualIID(guidService, SID_IExplorerToolbar) && fClientBars[BIInternetToolbar].clientBar.p)
2529 return fClientBars[BIInternetToolbar].clientBar->QueryInterface(riid, ppvObject);
2530 if (IsEqualIID(riid, IID_IShellBrowser))
2531 return this->QueryInterface(riid, ppvObject);
2532 return E_NOINTERFACE;
2533}
#define SID_SShellBrowser
Definition: shlguid.h:128
#define SID_IExplorerToolbar
#define SID_ITargetFrame2
#define SID_IWebBrowserApp
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ QueryStatus()

HRESULT STDMETHODCALLTYPE CShellBrowser::QueryStatus ( const GUID pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT pCmdText 
)
override

Implements IOleCommandTarget.

Definition at line 2055 of file shellbrowser.cpp.

2057{
2058 CComPtr<IOleCommandTarget> commandTarget;
2059 HRESULT hResult;
2060
2061 if (prgCmds == NULL)
2062 return E_INVALIDARG;
2063 if (pguidCmdGroup == NULL)
2064 {
2065 if (fCurrentShellView.p != NULL)
2066 {
2067 hResult = fCurrentShellView->QueryInterface(IID_PPV_ARG(IOleCommandTarget, &commandTarget));
2068 if (SUCCEEDED(hResult) && commandTarget.p != NULL)
2069 return commandTarget->QueryStatus(NULL, 1, prgCmds, pCmdText);
2070 }
2071 while (cCmds != 0)
2072 {
2073 prgCmds->cmdf = 0;
2074 prgCmds++;
2075 cCmds--;
2076 }
2077 }
2078 else if (IsEqualIID(*pguidCmdGroup, CGID_Explorer))
2079 {
2080 while (cCmds != 0)
2081 {
2082 switch (prgCmds->cmdID)
2083 {
2084 case 0x1c: // search
2085 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2086 if (IsEqualCLSID(CLSID_SH_SearchBand, fCurrentVertBar) ||
2087 IsEqualCLSID(CLSID_SearchBand, fCurrentVertBar) ||
2088 IsEqualCLSID(CLSID_IE_SearchBand, fCurrentVertBar) ||
2089 IsEqualCLSID(CLSID_FileSearchBand, fCurrentVertBar))
2090 {
2091 prgCmds->cmdf |= OLECMDF_LATCHED;
2092 }
2093 break;
2094 case 0x1d: // history
2095 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2096 if (IsEqualCLSID(CLSID_SH_HistBand, fCurrentVertBar))
2097 prgCmds->cmdf |= OLECMDF_LATCHED;
2098 break;
2099 case 0x1e: // favorites
2100 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2101 if (IsEqualCLSID(CLSID_SH_FavBand, fCurrentVertBar))
2102 prgCmds->cmdf |= OLECMDF_LATCHED;
2103 break;
2104 case SBCMDID_EXPLORERBARFOLDERS: // folders
2105 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2106 if (IsEqualCLSID(CLSID_ExplorerBand, fCurrentVertBar))
2107 prgCmds->cmdf |= OLECMDF_LATCHED;
2108 break;
2109 default:
2110 prgCmds->cmdf = 0;
2111 break;
2112 }
2113 prgCmds++;
2114 cCmds--;
2115 }
2116 }
2117 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser))
2118 {
2119 while (cCmds != 0)
2120 {
2121 switch (prgCmds->cmdID)
2122 {
2124 prgCmds->cmdf = OLECMDF_SUPPORTED;
2126 prgCmds->cmdf |= OLECMDF_ENABLED;
2127 break;
2128 }
2129 prgCmds++;
2130 cCmds--;
2131 }
2132 }
2133 return S_OK;
2134}
#define IDM_GOTO_UPONELEVEL
Definition: resource.h:48

Referenced by IsControlWindowShown(), and QueryStatusWB().

◆ QueryStatusWB()

HRESULT STDMETHODCALLTYPE CShellBrowser::QueryStatusWB ( OLECMDID  cmdID,
OLECMDF pcmdf 
)
override

Definition at line 3504 of file shellbrowser.cpp.

3505{
3506 OLECMD cmd = { (ULONG)cmdID, (DWORD)(*pcmdf) };
3507 HRESULT hr = QueryStatus(NULL, 1, &cmd, NULL);
3508 *pcmdf = (OLECMDF)cmd.cmdf;
3509 return hr;
3510}

◆ Quit()

HRESULT STDMETHODCALLTYPE CShellBrowser::Quit ( )
override

Definition at line 3347 of file shellbrowser.cpp.

3348{
3350 return S_OK;
3351}
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

◆ Refresh()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh ( )
override

Definition at line 3233 of file shellbrowser.cpp.

3234{
3235 VARIANT level;
3236
3237 V_VT(&level) = VT_I4;
3238 V_I4(&level) = 4;
3239 return Refresh2(&level);
3240}
STDMETHOD() Refresh2(VARIANT *Level) override
GLint level
Definition: gl.h:1546

◆ Refresh2()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh2 ( VARIANT Level)
override

Definition at line 3242 of file shellbrowser.cpp.

3243{
3244 CComPtr<IOleCommandTarget> oleCommandTarget;
3245 HRESULT hResult;
3246
3247 hResult = fCurrentShellView->QueryInterface(IID_PPV_ARG(IOleCommandTarget, &oleCommandTarget));
3248 if (FAILED_UNEXPECTEDLY(hResult))
3249 return hResult;
3250 return oleCommandTarget->Exec(NULL, 22, 1, Level, NULL);
3251}
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56

Referenced by Refresh().

◆ RefreshCabinetState()

void CShellBrowser::RefreshCabinetState ( )

Definition at line 4277 of file shellbrowser.cpp.

4278{
4281}

Referenced by OnCabinetStateChange(), and OnSettingChange().

◆ RegisterWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::RegisterWindow ( BOOL  fForceRegister,
int  swc 
)
override

Implements IBrowserService.

Definition at line 2821 of file shellbrowser.cpp.

2822{
2823 return E_NOTIMPL;
2824}

Referenced by put_RegisterAsBrowser().

◆ RelayCommands()

LRESULT CShellBrowser::RelayCommands ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 4149 of file shellbrowser.cpp.

4150{
4153 return 0;
4154}
#define LOWORD(l)
Definition: pedump.c:82
#define FCIDM_SHVIEWLAST
Definition: shlobj.h:622
#define HIWORD(l)
Definition: typedefs.h:247

◆ RelayMsgToShellView()

LRESULT CShellBrowser::RelayMsgToShellView ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 3895 of file shellbrowser.cpp.

3896{
3899 return 0;
3900}

Referenced by OnInitMenuPopup().

◆ ReleaseShellView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ReleaseShellView ( )
override

Implements IBrowserService2.

Definition at line 2883 of file shellbrowser.cpp.

2884{
2885 return E_NOTIMPL;
2886}

◆ RemoveMenusSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::RemoveMenusSB ( HMENU  hmenuShared)
override

Implements IShellBrowser.

Definition at line 2340 of file shellbrowser.cpp.

2341{
2342 if (hmenuShared == fCurrentMenuBar)
2343 {
2344 //DestroyMenu(fCurrentMenuBar);
2346 }
2347 return S_OK;
2348}
STDMETHOD() SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) override

◆ RepositionBars()

void CShellBrowser::RepositionBars ( )

Definition at line 1549 of file shellbrowser.cpp.

1550{
1551 RECT clientRect;
1552 RECT statusRect;
1553 int x;
1554
1555 GetClientRect(&clientRect);
1556
1558 {
1559 ::GetWindowRect(fStatusBar, &statusRect);
1560 ::SetWindowPos(fStatusBar, NULL, clientRect.left, clientRect.bottom - (statusRect.bottom - statusRect.top),
1561 clientRect.right - clientRect.left,
1562 statusRect.bottom - statusRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1563 clientRect.bottom -= statusRect.bottom - statusRect.top;
1564 }
1565
1566 for (x = 0; x < 3; x++)
1567 {
1569 RECT borderSpace = fClientBars[x].borderSpace;
1570 if (hwnd == NULL && fClientBars[x].clientBar != NULL)
1571 {
1572 IUnknown_GetWindow(fClientBars[x].clientBar, &hwnd);
1574 }
1575 if (hwnd != NULL)
1576 {
1577 RECT toolbarRect = clientRect;
1578 if (borderSpace.top != 0)
1579 {
1580 toolbarRect.bottom = toolbarRect.top + borderSpace.top;
1581 }
1582 else if (borderSpace.bottom != 0)
1583 {
1584 toolbarRect.top = toolbarRect.bottom - borderSpace.bottom;
1585 }
1586 else if (borderSpace.left != 0)
1587 {
1588 toolbarRect.right = toolbarRect.left + borderSpace.left;
1589 }
1590 else if (borderSpace.right != 0)
1591 {
1592 toolbarRect.left = toolbarRect.right - borderSpace.right;
1593 }
1594
1596 toolbarRect.left,
1597 toolbarRect.top,
1598 toolbarRect.right - toolbarRect.left,
1599 toolbarRect.bottom - toolbarRect.top,
1601
1602 if (borderSpace.top != 0)
1603 {
1604 clientRect.top = toolbarRect.bottom;
1605 }
1606 else if (borderSpace.bottom != 0)
1607 {
1608 clientRect.bottom = toolbarRect.top;
1609 }
1610 else if (borderSpace.left != 0)
1611 {
1612 clientRect.left = toolbarRect.right;
1613 }
1614 else if (borderSpace.right != 0)
1615 {
1616 clientRect.right = toolbarRect.left;
1617 }
1618 }
1619 }
1620
1622 return;
1623
1624 ::SetWindowPos(fCurrentShellViewWindow, NULL, clientRect.left, clientRect.top,
1625 clientRect.right - clientRect.left,
1626 clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1627}
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define SWP_NOOWNERZORDER
Definition: winuser.h:1260

Referenced by BrowseToPath(), OnSettingsChange(), OnSize(), and SetBorderSpaceDW().

◆ RequestBorderSpaceDW()

HRESULT STDMETHODCALLTYPE CShellBrowser::RequestBorderSpaceDW ( IUnknown punkObj,
LPCBORDERWIDTHS  pbw 
)
override

Definition at line 2035 of file shellbrowser.cpp.

2036{
2037 return S_OK;
2038}

◆ SaveHistory()

HRESULT STDMETHODCALLTYPE CShellBrowser::SaveHistory ( IStream pStream)
override

Implements IPersistHistory.

Definition at line 3701 of file shellbrowser.cpp.

3702{
3703 CComPtr<IPersistHistory> viewPersistHistory;
3704 persistState newState;
3705 HRESULT hResult;
3706
3707 hResult = fCurrentShellView->GetItemObject(
3708 SVGIO_BACKGROUND, IID_PPV_ARG(IPersistHistory, &viewPersistHistory));
3709 memset(&newState, 0, sizeof(newState));
3710 newState.dwSize = sizeof(newState);
3711 newState.browseType = 2;
3712 newState.browserIndex = GetBrowserIndex();
3713 if (viewPersistHistory.p != NULL)
3714 {
3715 hResult = viewPersistHistory->GetClassID(&newState.persistClass);
3716 if (FAILED_UNEXPECTEDLY(hResult))
3717 return hResult;
3718 }
3720 hResult = pStream->Write(&newState, sizeof(newState), NULL);
3721 if (FAILED_UNEXPECTEDLY(hResult))
3722 return hResult;
3723 hResult = pStream->Write(fCurrentDirectoryPIDL, newState.pidlSize, NULL);
3724 if (FAILED_UNEXPECTEDLY(hResult))
3725 return hResult;
3726 if (viewPersistHistory.p != NULL)
3727 {
3728 hResult = viewPersistHistory->SaveHistory(pStream);
3729 if (FAILED_UNEXPECTEDLY(hResult))
3730 return hResult;
3731 }
3732 return S_OK;
3733}
DWORD GetBrowserIndex()
HRESULT Write([in, size_is(cb)] const void *pv, [in] ULONG cb, [out] ULONG *pcbWritten)
#define ILGetSize
Definition: shellclasses.h:638
long browserIndex
Definition: shlobj_undoc.h:45

◆ SaveITBarLayout()

void CShellBrowser::SaveITBarLayout ( )

Definition at line 4295 of file shellbrowser.cpp.

4296{
4297 if (!gCabinetState.fSaveLocalView || (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_UISETBYAUTOMATION)))
4298 return;
4299#if 0 // If CDesktopBrowser aggregates us, skip saving
4301 if (fCurrentShellView && SUCCEEDED(fCurrentShellView->GetCurrentInfo(&fs)) && (fs.fFlags & FWF_DESKTOP))
4302 return;
4303#endif
4304
4306 CComPtr<IStream> pITBarStream;
4307 if (!fClientBars[BIInternetToolbar].clientBar.p)
4308 return;
4310 if (FAILED(hr))
4311 return;
4313 return;
4314 pPSI->Save(pITBarStream, TRUE);
4315}
#define STGM_WRITE
Definition: objbase.h:918
@ FWF_DESKTOP
Definition: shobjidl.idl:647
BOOL fSaveLocalView
Definition: shlobj.h:2396
Definition: ffs.h:70

Referenced by Exec(), and OpenNewBrowserWindow().

◆ SaveViewState()

void CShellBrowser::SaveViewState ( )

Definition at line 1026 of file shellbrowser.cpp.

1027{
1028 // TODO: Also respect EBO_NOPERSISTVIEWSTATE?
1030 fCurrentShellView->SaveViewState();
1031}
@ REST_NOSAVESET
Definition: shlobj.h:1653
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
Definition: shpolicy.c:166

Referenced by BrowseToPath(), and OnDestroy().

◆ SendControlMsg()

HRESULT STDMETHODCALLTYPE CShellBrowser::SendControlMsg ( UINT  id,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT pret 
)
override

Implements IShellBrowser.

Definition at line 2446 of file shellbrowser.cpp.

2448{
2449 LPARAM result;
2450
2451 if (pret != NULL)
2452 *pret = 0;
2453 switch (id)
2454 {
2455 case FCW_TOOLBAR:
2457 if (pret != NULL)
2458 *pret = result;
2459 break;
2460 case FCW_STATUS:
2462 if (pret != NULL)
2463 *pret = result;
2464 break;
2465 }
2466 return S_OK;
2467}
LRESULT SendMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
Definition: atlwin.h:1116
GLuint64EXT * result
Definition: glext.h:11304

Referenced by put_StatusText().

◆ SetAcceleratorMenu()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAcceleratorMenu ( HACCEL  hacc)
override

Implements IBrowserService2.

Definition at line 3092 of file shellbrowser.cpp.

3093{
3094 return E_NOTIMPL;
3095}

◆ SetActivateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetActivateState ( UINT  u)
override

Implements IBrowserService2.

Definition at line 2940 of file shellbrowser.cpp.

2941{
2942 return E_NOTIMPL;
2943}

◆ SetAsDefFolderSettings()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAsDefFolderSettings ( )
override

Implements IBrowserService2.

Definition at line 2831 of file shellbrowser.cpp.

2832{
2833 HRESULT hr = E_FAIL;
2835 {
2838 }
2839 return hr;
2840}
#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:78

◆ SetBorderSpaceDW()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetBorderSpaceDW ( IUnknown punkObj,
LPCBORDERWIDTHS  pbw 
)
override

Definition at line 2040 of file shellbrowser.cpp.

2041{
2042 for (INT x = 0; x < 3; x++)
2043 {
2044 if (IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
2045 {
2046 fClientBars[x].borderSpace = *pbw;
2047 // if this bar changed size, it cascades and forces all subsequent bars to resize
2049 return S_OK;
2050 }
2051 }
2052 return E_INVALIDARG;
2053}

◆ SetFlags()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetFlags ( DWORD  dwFlags,
DWORD  dwFlagMask 
)
override

Implements IBrowserService.

Definition at line 2736 of file shellbrowser.cpp.

2737{
2738 m_BrowserSvcFlags = (m_BrowserSvcFlags & ~dwFlagMask) | (dwFlags & dwFlagMask);
2739 return S_OK;
2740}
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

Referenced by OnToggleFullscreen(), put_AddressBar(), put_FullScreen(), put_MenuBar(), put_RegisterAsBrowser(), put_RegisterAsDropTarget(), put_Resizable(), put_StatusBar(), put_ToolBar(), and SetTopBrowser().

◆ SetHistoryObject()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetHistoryObject ( IOleObject pole,
BOOL  fIsLocalAnchor 
)
override

Implements IBrowserService.

Definition at line 2795 of file shellbrowser.cpp.

2796{
2797 return E_NOTIMPL;
2798}

◆ SetMenuSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetMenuSB ( HMENU  hmenuShared,
HOLEMENU  holemenuRes,
HWND  hwndActiveObject 
)
override

Implements IShellBrowser.

Definition at line 2310 of file shellbrowser.cpp.

2311{
2312 CComPtr<IShellMenu> shellMenu;
2313 HRESULT hResult;
2314
2315 if (hmenuShared && IsMenu(hmenuShared) == FALSE)
2316 return E_FAIL;
2317 hResult = GetMenuBand(IID_PPV_ARG(IShellMenu, &shellMenu));
2318 if (FAILED_UNEXPECTEDLY(hResult))
2319 return hResult;
2320
2321 if (!hmenuShared)
2322 {
2323 hmenuShared = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2324 }
2325 // FIXME: Figure out the proper way to do this.
2326 HMENU hMenuFavs = GetSubMenu(hmenuShared, 3);
2327 if (hMenuFavs)
2328 {
2330 }
2331
2332 hResult = shellMenu->SetMenu(hmenuShared, m_hWnd, SMSET_DONTOWN);
2333 if (FAILED_UNEXPECTEDLY(hResult))
2334 return hResult;
2335 fCurrentMenuBar = hmenuShared;
2337 return S_OK;
2338}
HRESULT BuildExplorerBandMenu()
HRESULT GetMenuBand(REFIID riid, void **shellMenu)
#define IDM_FAVORITES_EMPTY
Definition: resource.h:53
BOOL WINAPI IsMenu(_In_ HMENU)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)

Referenced by RemoveMenusSB().

◆ SetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetNavigateState ( BNSTATE  bnstate)
override

Implements IBrowserService.

Definition at line 2711 of file shellbrowser.cpp.

2712{
2713 return E_NOTIMPL;
2714}

◆ SetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetPositionCookie ( DWORD  dwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3735 of file shellbrowser.cpp.

3736{
3737 return E_NOTIMPL;
3738}

◆ SetReferrer()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetReferrer ( LPCITEMIDLIST  pidl)
override

Definition at line 2759 of file shellbrowser.cpp.

2760{
2761 return E_NOTIMPL;
2762}

◆ SetStatusTextSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetStatusTextSB ( LPCOLESTR  pszStatusText)
override

Implements IShellBrowser.

Definition at line 2350 of file shellbrowser.cpp.

2351{
2352 //
2353 if (pszStatusText)
2354 {
2355 ::SetWindowText(fStatusBar, pszStatusText);
2356 }
2357 else
2358 {
2359
2360 }
2361 return S_OK;
2362}
#define SetWindowText
Definition: winuser.h:5942

◆ SetTitle()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetTitle ( IShellView psv,
LPCWSTR  pszName 
)
override

Implements IBrowserService.

Definition at line 2591 of file shellbrowser.cpp.

2592{
2593 return E_NOTIMPL;
2594}

◆ SetToolbarItems()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetToolbarItems ( LPTBBUTTON  lpButtons,
UINT  nButtons,
UINT  uFlags 
)
override

Definition at line 2487 of file shellbrowser.cpp.

2488{
2489 return E_NOTIMPL;
2490}

◆ SetTopBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetTopBrowser ( )
override

Implements IBrowserService2.

Definition at line 2924 of file shellbrowser.cpp.

2925{
2926 SetFlags(BSF_TOPBROWSER, BSF_TOPBROWSER);
2927 return S_OK;
2928}

Referenced by CShellBrowser().

◆ ShowBand()

HRESULT CShellBrowser::ShowBand ( const CLSID classID,
bool  vertical 
)

Definition at line 1321 of file shellbrowser.cpp.

1322{
1323 CComPtr<IDockingWindow> dockingWindow;
1324 CComPtr<IUnknown> baseBarSite;
1325 CComPtr<IUnknown> newBand;
1326 CComPtr<IDeskBar> deskBar;
1327 VARIANT vaIn;
1328 HRESULT hResult;
1329 DWORD dwBandID;
1330
1331 hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar));
1332 if (FAILED_UNEXPECTEDLY(hResult))
1333 return hResult;
1334
1335 hResult = deskBar->GetClient(&baseBarSite);
1336 if (FAILED_UNEXPECTEDLY(hResult))
1337 return hResult;
1338
1339 hResult = deskBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &dockingWindow));
1340 if (FAILED_UNEXPECTEDLY(hResult))
1341 return hResult;
1342
1343 if (!IsBandLoaded(classID, vertical, &dwBandID))
1344 {
1345 TRACE("ShowBand called for CLSID %s, vertical=%d...\n", wine_dbgstr_guid(&classID), vertical);
1346 if (IsEqualCLSID(CLSID_ExplorerBand, classID))
1347 {
1348 TRACE("CLSID_ExplorerBand requested, building internal band.\n");
1350 if (FAILED_UNEXPECTEDLY(hResult))
1351 return hResult;
1352 }
1353 else if (IsEqualCLSID(classID, CLSID_FileSearchBand))
1354 {
1355 TRACE("CLSID_FileSearchBand requested, building internal band.\n");
1356 hResult = CSearchBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBand));
1357 if (FAILED_UNEXPECTEDLY(hResult))
1358 return hResult;
1359 }
1360 else
1361 {
1362 TRACE("A different CLSID requested, using CoCreateInstance.\n");
1363 hResult = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, &newBand));
1364 if (FAILED_UNEXPECTEDLY(hResult))
1365 return hResult;
1366 }
1367 }
1368 else
1369 {
1370 CComPtr<IBandSite> pBandSite;
1371
1372 hResult = baseBarSite->QueryInterface(IID_PPV_ARG(IBandSite, &pBandSite));
1373 if (!SUCCEEDED(hResult))
1374 {
1375 ERR("Can't get IBandSite interface\n");
1376 return E_FAIL;
1377 }
1378 hResult = pBandSite->GetBandObject(dwBandID, IID_PPV_ARG(IUnknown, &newBand));
1379 if (!SUCCEEDED(hResult))
1380 {
1381 ERR("Can't find band object\n");
1382 return E_FAIL;
1383 }
1384
1385 // It's hackish, but we should be able to show the wanted band until we
1386 // find the proper way to do this (but it seems to work to add a new band)
1387 // Here we'll just re-add the existing band to the site, causing it to display.
1388 }
1389 V_VT(&vaIn) = VT_UNKNOWN;
1390 V_UNKNOWN(&vaIn) = newBand.p;
1391 hResult = IUnknown_Exec(baseBarSite, CGID_IDeskBand, 1, 1, &vaIn, NULL);
1392 if (FAILED_UNEXPECTEDLY(hResult))
1393 {
1394 return hResult;
1395 }
1396
1397 hResult = dockingWindow->ShowDW(TRUE);
1398 if (FAILED_UNEXPECTEDLY(hResult))
1399 return hResult;
1400
1401 if (vertical)
1402 {
1403 fCurrentVertBar = classID;
1405 }
1406
1407 return S_OK;
1408}
#define ERR(fmt,...)
Definition: precomp.h:57
HRESULT CExplorerBand_CreateInstance(REFIID riid, LPVOID *ppv)
Definition: browseui.cpp:69
HRESULT CSearchBar_CreateInstance(REFIID riid, LPVOID *ppv)
Definition: browseui.cpp:60
BOOL IsBandLoaded(const CLSID clsidBand, bool vertical, DWORD *pdwBandID)
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:197
#define CGID_IDeskBand

Referenced by BrowseObject(), Exec(), OnExplorerBar(), and ShowBrowserBar().

◆ ShowBrowserBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::ShowBrowserBar ( VARIANT pvaClsid,
VARIANT pvarShow,
VARIANT pvarSize 
)
override

Definition at line 3523 of file shellbrowser.cpp.

3524{
3525 CLSID classID;
3526 bool vertical;
3527
3528 // called to show search bar
3529 if (V_VT(pvaClsid) != VT_BSTR)
3530 return E_INVALIDARG;
3531 CLSIDFromString(V_BSTR(pvaClsid), &classID);
3532 // TODO: properly compute the value of vertical
3533 vertical = true;
3534 return ShowBand(classID, vertical);
3535}
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338

◆ ShowControlWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::ShowControlWindow ( UINT  id,
BOOL  fShow 
)
override

Implements IBrowserService.

Definition at line 2626 of file shellbrowser.cpp.

2627{
2628 BOOL shown;
2629 if (FAILED(IsControlWindowShown(id, &shown)))
2630 return E_NOTIMPL;
2631 else if (!shown == !fShow) // Negated for true boolean comparison
2632 return S_OK;
2633 else switch (id)
2634 {
2635 case FCW_STATUS:
2636 OnToggleStatusBarVisible(0, 0, NULL, shown);
2637 return S_OK;
2638 case FCW_TREE:
2639 return Exec(&CGID_Explorer, SBCMDID_EXPLORERBARFOLDERS, 0, NULL, NULL);
2640 case FCW_MENU:
2642 CGID_PrivCITCommands, ITID_MENUBANDSHOWN, 0, NULL, NULL);
2643 case FCW_ADDRESSBAR:
2645 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
2646 }
2647 return E_NOTIMPL;
2648}
LRESULT OnToggleStatusBarVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
STDMETHOD() Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override

Referenced by put_AddressBar(), put_MenuBar(), put_StatusBar(), and put_ToolBar().

◆ STDMETHOD_() [1/11]

CShellBrowser::STDMETHOD_ ( DWORD  ,
GetBrowserIndex   
)
override

◆ STDMETHOD_() [2/11]

CShellBrowser::STDMETHOD_ ( int  ,
_GetToolbarCount   
)
override

◆ STDMETHOD_() [3/11]

CShellBrowser::STDMETHOD_ ( IStream ,
v_GetViewStream   
)

◆ STDMETHOD_() [4/11]

CShellBrowser::STDMETHOD_ ( LPBASEBROWSERDATA  ,
PutBaseBrowserData   
)
override

◆ STDMETHOD_() [5/11]

CShellBrowser::STDMETHOD_ ( LPTOOLBARITEM  ,
_GetToolbarItem   
)
override

◆ STDMETHOD_() [6/11]

CShellBrowser::STDMETHOD_ ( LRESULT  ,
ForwardViewMsg   
)

◆ STDMETHOD_() [7/11]

CShellBrowser::STDMETHOD_ ( LRESULT  ,
OnCommand   
)

◆ STDMETHOD_() [8/11]

CShellBrowser::STDMETHOD_ ( LRESULT  ,
OnNotify   
)
override

◆ STDMETHOD_() [9/11]

CShellBrowser::STDMETHOD_ ( LRESULT  ,
WndProcBS   
)

◆ STDMETHOD_() [10/11]

CShellBrowser::STDMETHOD_ ( UINT  ,
_FindTBar   
)
override

◆ STDMETHOD_() [11/11]

CShellBrowser::STDMETHOD_ ( UINT  ,
_get_itbLastFocus   
)
override

◆ Stop()

HRESULT STDMETHODCALLTYPE CShellBrowser::Stop ( )
override

Definition at line 3253 of file shellbrowser.cpp.

3254{
3255 return E_NOTIMPL;
3256}

◆ TranslateAcceleratorSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::TranslateAcceleratorSB ( MSG pmsg,
WORD  wID 
)
override

Implements IShellBrowser.

Definition at line 2369 of file shellbrowser.cpp.

2370{
2372 return S_FALSE;
2373 return S_OK;
2374}
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)

◆ UpdateBackForwardState()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateBackForwardState ( )
override

Implements IBrowserService.

Definition at line 2731 of file shellbrowser.cpp.

2732{
2733 return E_NOTIMPL;
2734}

◆ UpdateForwardBackState()

HRESULT CShellBrowser::UpdateForwardBackState ( )

Definition at line 1711 of file shellbrowser.cpp.

1712{
1713 CComPtr<ITravelLog> travelLog;
1714 CComPtr<ITravelEntry> unusedEntry;
1715 bool canGoBack;
1716 bool canGoForward;
1717 HRESULT hResult;
1718
1719 canGoBack = false;
1720 canGoForward = false;
1721 hResult = GetTravelLog(&travelLog);
1722 if (FAILED_UNEXPECTEDLY(hResult))
1723 return hResult;
1724 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_BACK, &unusedEntry);
1725 if (SUCCEEDED(hResult))
1726 {
1727 canGoBack = true;
1728 unusedEntry.Release();
1729 }
1730 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_FORE, &unusedEntry);
1731 if (SUCCEEDED(hResult))
1732 {
1733 canGoForward = true;
1734 unusedEntry.Release();
1735 }
1736 hResult = FireCommandStateChange(canGoBack, 2);
1737 hResult = FireCommandStateChange(canGoForward, 1);
1738 return S_OK;
1739}

Referenced by BrowseToPath().

◆ UpdateGotoMenu()

void CShellBrowser::UpdateGotoMenu ( HMENU  theMenu)

Definition at line 1748 of file shellbrowser.cpp.

1749{
1750 CComPtr<ITravelLog> travelLog;
1751 CComPtr<ITravelEntry> unusedEntry;
1752 int position;
1753 MENUITEMINFO menuItemInfo;
1754 HRESULT hResult;
1755
1757
1758 position = GetMenuItemCount(theMenu);
1759 hResult = GetTravelLog(&travelLog);
1760 if (FAILED_UNEXPECTEDLY(hResult))
1761 return;
1762
1763 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1764 TLOG_BACK,
1765 &unusedEntry);
1766
1767 if (SUCCEEDED(hResult))
1768 {
1770 unusedEntry.Release();
1771 }
1772 else
1774
1775 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1776 TLOG_FORE,
1777 &unusedEntry);
1778
1779 if (SUCCEEDED(hResult))
1780 {
1782 unusedEntry.Release();
1783 }
1784 else
1786
1787 SHEnableMenuItem(theMenu,
1790
1791 hResult = travelLog->InsertMenuEntries(static_cast<IDropTarget *>(this), theMenu, position,
1793 if (SUCCEEDED(hResult))
1794 {
1795 menuItemInfo.cbSize = sizeof(menuItemInfo);
1796 menuItemInfo.fMask = MIIM_TYPE | MIIM_ID;
1797 menuItemInfo.fType = MF_SEPARATOR;
1798 menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP;
1799 InsertMenuItem(theMenu, position, TRUE, &menuItemInfo);
1800 }
1801}
#define IDM_GOTO_TRAVEL_SEP
Definition: resource.h:87
#define IDM_GOTO_TRAVEL_FIRST
Definition: resource.h:85
#define IDM_GOTO_TRAVEL_LAST
Definition: resource.h:86
#define IDM_GOTO_TRAVEL_LASTTARGET
Definition: resource.h:89
#define IDM_GOTO_TRAVEL_FIRSTTARGET
Definition: resource.h:88
void DeleteMenuItems(HMENU theMenu, unsigned int firstIDToDelete, unsigned int lastIDToDelete)
#define TLMENUF_BACKANDFORTH
Definition: shlobj.h:2752
#define TLMENUF_CHECKCURRENT
Definition: shlobj.h:2749
#define MIIM_ID
Definition: winuser.h:733
#define InsertMenuItem
Definition: winuser.h:5889
#define MF_SEPARATOR
Definition: winuser.h:137
#define MIIM_TYPE
Definition: winuser.h:736

Referenced by UpdateViewMenu().

◆ UpdateSecureLockIcon()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateSecureLockIcon ( int  eSecureLock)
override

Implements IBrowserService2.

Definition at line 2945 of file shellbrowser.cpp.

2946{
2947 return E_NOTIMPL;
2948}

◆ UpdateUpState()

HRESULT CShellBrowser::UpdateUpState ( )

Definition at line 1741 of file shellbrowser.cpp.

1742{
1743 bool canGoUp = !_ILIsDesktop(fCurrentDirectoryPIDL);
1744 FireCommandStateChange(canGoUp, 3);
1745 return S_OK;
1746}

Referenced by BrowseToPath().

◆ UpdateViewMenu()

void CShellBrowser::UpdateViewMenu ( HMENU  theMenu)

Definition at line 1803 of file shellbrowser.cpp.

1804{
1805 CComPtr<ITravelLog> travelLog;
1806 HMENU gotoMenu;
1807 OLECMD commandList[5];
1808 HMENU toolbarMenuBar;
1809 HMENU toolbarMenu;
1810 MENUITEMINFO menuItemInfo;
1811 HRESULT hResult;
1812
1813 gotoMenu = SHGetMenuFromID(theMenu, FCIDM_MENU_EXPLORE);
1814 if (gotoMenu != NULL)
1815 UpdateGotoMenu(gotoMenu);
1816
1817 commandList[0].cmdID = ITID_TOOLBARBANDSHOWN;
1818 commandList[1].cmdID = ITID_ADDRESSBANDSHOWN;
1819 commandList[2].cmdID = ITID_LINKSBANDSHOWN;
1820 commandList[3].cmdID = ITID_TOOLBARLOCKED;
1821 commandList[4].cmdID = ITID_CUSTOMIZEENABLED;
1822
1824 CGID_PrivCITCommands, 5, commandList, NULL);
1825 if (FAILED_UNEXPECTEDLY(hResult))
1827 else
1828 {
1829 menuItemInfo.cbSize = sizeof(menuItemInfo);
1830 menuItemInfo.fMask = MIIM_SUBMENU;
1831 GetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo);
1832 DestroyMenu(menuItemInfo.hSubMenu);
1833
1834 toolbarMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU));
1835 toolbarMenu = GetSubMenu(toolbarMenuBar, 0);
1836 RemoveMenu(toolbarMenuBar, 0, MF_BYPOSITION);
1837 DestroyMenu(toolbarMenuBar);
1838
1839 // TODO: Implement
1840 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf & OLECMDF_ENABLED);
1841 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_ENABLED);
1842 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_ENABLED);
1843 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_CUSTOMIZE, commandList[4].cmdf & OLECMDF_ENABLED);
1844
1845 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf & OLECMDF_LATCHED);
1846 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_LATCHED);
1847 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_LATCHED);
1848 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LOCKTOOLBARS, commandList[3].cmdf & OLECMDF_LATCHED);
1849 if ((commandList[4].cmdf & OLECMDF_ENABLED) == 0)
1853
1854 menuItemInfo.cbSize = sizeof(menuItemInfo);
1855 menuItemInfo.fMask = MIIM_SUBMENU;
1856 menuItemInfo.hSubMenu = toolbarMenu;
1857 SetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo);
1858 }
1860
1861 // Check the menu items for Explorer bar
1862 BOOL bSearchBand = (IsEqualCLSID(CLSID_SH_SearchBand, fCurrentVertBar) ||
1863 IsEqualCLSID(CLSID_SearchBand, fCurrentVertBar) ||
1864 IsEqualCLSID(CLSID_IE_SearchBand, fCurrentVertBar) ||
1865 IsEqualCLSID(CLSID_FileSearchBand, fCurrentVertBar));
1866 BOOL bHistory = IsEqualCLSID(CLSID_SH_HistBand, fCurrentVertBar);
1867 BOOL bFavorites = IsEqualCLSID(CLSID_SH_FavBand, fCurrentVertBar);
1868 BOOL bFolders = IsEqualCLSID(CLSID_ExplorerBand, fCurrentVertBar);
1869 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_SEARCH, bSearchBand);
1870 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_HISTORY, bHistory);
1871 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_FAVORITES, bFavorites);
1872 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_FOLDERS, bFolders);
1873}
void UpdateGotoMenu(HMENU theMenu)
#define IDM_VIEW_TOOLBARS
Definition: resource.h:30
#define IDM_TOOLBARS_LOCKTOOLBARS
Definition: resource.h:34
#define IDM_TOOLBARS_TEXTLABELS
Definition: resource.h:36
#define IDM_TOOLBARS_STANDARDBUTTONS
Definition: resource.h:31
#define IDM_CABINET_CONTEXTMENU
Definition: resource.h:91
#define IDM_TOOLBARS_GOBUTTON
Definition: resource.h:37
#define IDM_TOOLBARS_CUSTOMIZE
Definition: resource.h:35
#define IDM_VIEW_STATUSBAR
Definition: resource.h:38
#define IDM_TOOLBARS_ADDRESSBAR
Definition: resource.h:32
#define IDM_TOOLBARS_LINKSBAR
Definition: resource.h:33
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
Definition: ordinal.c:1800
OLECMDF cmdf
Definition: olecmd.c:716
#define FCIDM_MENU_EXPLORE
Definition: shlobj.h:646
#define SetMenuItemInfo
Definition: winuser.h:5935
#define MIIM_SUBMENU
Definition: winuser.h:734
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define GetMenuItemInfo
Definition: winuser.h:5873

Referenced by OnInitMenuPopup().

◆ UpdateWindowList()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateWindowList ( )
override

Implements IBrowserService.

Definition at line 2726 of file shellbrowser.cpp.

2727{
2728 return E_NOTIMPL;
2729}

◆ UpdateWindowTitle()

void CShellBrowser::UpdateWindowTitle ( )

Definition at line 4283 of file shellbrowser.cpp.

4284{
4286 SHGDNF flags = SHGDN_FORADDRESSBAR;
4287
4289 flags |= SHGDN_FORPARSING;
4290
4293}
static char title[]
Definition: ps.c:92
#define _countof(array)
Definition: sndvol32.h:70
BOOL fFullPathTitle
Definition: shlobj.h:2395

Referenced by BrowseToPath(), and RefreshCabinetState().

◆ v_CheckZoneCrossing()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_CheckZoneCrossing ( LPCITEMIDLIST  pidl)
override

Definition at line 3162 of file shellbrowser.cpp.

3163{
3164 return E_NOTIMPL;
3165}

◆ v_MayGetNextToolbarFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayGetNextToolbarFocus ( LPMSG  lpMsg,
UINT  itbNext,
int  citb,
LPTOOLBARITEM pptbi,
HWND phwnd 
)
override

Implements IBrowserService2.

Definition at line 3122 of file shellbrowser.cpp.

3124{
3125 return E_NOTIMPL;
3126}

◆ v_MayTranslateAccelerator()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayTranslateAccelerator ( MSG pmsg)
override

Implements IBrowserService2.

Definition at line 3143 of file shellbrowser.cpp.

3144{
3145 for (int i = 0; i < 3; i++)
3146 {
3147 if (IUnknown_TranslateAcceleratorIO(fClientBars[i].clientBar, pmsg) == S_OK)
3148 return S_OK;
3149 }
3150
3151 if (!fCurrentShellView)
3152 return S_FALSE;
3153
3154 return fCurrentShellView->TranslateAcceleratorW(pmsg);
3155}
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
Definition: ordinal.c:4300

◆ v_ShowHideChildWindows()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_ShowHideChildWindows ( BOOL  fChildOnly)
override

Implements IBrowserService2.

Definition at line 3037 of file shellbrowser.cpp.

3038{
3039 return E_NOTIMPL;
3040}

◆ WindowProc()

LRESULT CALLBACK CShellBrowser::WindowProc ( HWND  hWnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)
static

Definition at line 1494 of file shellbrowser.cpp.

1495{
1496 CShellBrowser *pThis = reinterpret_cast<CShellBrowser *>(hWnd);
1497 _ATL_MSG msg(pThis->m_hWnd, uMsg, wParam, lParam);
1498 LRESULT lResult;
1499 const _ATL_MSG *previousMessage;
1500 BOOL handled;
1501 WNDPROC saveWindowProc;
1502 HRESULT hResult;
1503
1504 hWnd = pThis->m_hWnd;
1505 previousMessage = pThis->m_pCurrentMsg;
1506 pThis->m_pCurrentMsg = &msg;
1507
1508 /* If the shell browser is initialized, let the menu band preprocess the messages */
1509 if (pThis->fCurrentDirectoryPIDL)
1510 {
1511 CComPtr<IMenuBand> menuBand;
1512 hResult = pThis->GetMenuBand(IID_PPV_ARG(IMenuBand, &menuBand));
1513 if (SUCCEEDED(hResult) && menuBand.p != NULL)
1514 {
1515 hResult = menuBand->TranslateMenuMessage(&msg, &lResult);
1516 if (hResult == S_OK)
1517 return lResult;
1518 uMsg = msg.message;
1519 wParam = msg.wParam;
1520 lParam = msg.lParam;
1521 }
1522 }
1523
1524 handled = pThis->ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult, 0);
1525 ATLASSERT(pThis->m_pCurrentMsg == &msg);
1526 if (handled == FALSE)
1527 {
1528 if (uMsg == WM_NCDESTROY)
1529 {
1530 saveWindowProc = reinterpret_cast<WNDPROC>(::GetWindowLongPtr(hWnd, GWLP_WNDPROC));
1531 lResult = pThis->DefWindowProc(uMsg, wParam, lParam);
1532 if (saveWindowProc == reinterpret_cast<WNDPROC>(::GetWindowLongPtr(hWnd, GWLP_WNDPROC)))
1534 pThis->m_dwState |= WINSTATE_DESTROYED;
1535 }
1536 else
1537 lResult = pThis->DefWindowProc(uMsg, wParam, lParam);
1538 }
1539 pThis->m_pCurrentMsg = previousMessage;
1540 if (previousMessage == NULL && (pThis->m_dwState & WINSTATE_DESTROYED) != 0)
1541 {
1542 pThis->m_dwState &= ~WINSTATE_DESTROYED;
1543 pThis->m_hWnd = NULL;
1544 pThis->OnFinalMessage(hWnd);
1545 }
1546 return lResult;
1547}
#define ATLASSERT(x)
Definition: CComVariant.cpp:10
#define msg(x)
Definition: auth_time.c:54
virtual BOOL ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult, DWORD dwMsgMapID)=0
virtual void OnFinalMessage(HWND)
Definition: atlwin.h:1548
LRESULT DefWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: atlwin.h:1612
WNDPROC m_pfnSuperWindowProc
Definition: atlwin.h:1540
const _ATL_MSG * m_pCurrentMsg
Definition: atlwin.h:1380
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define GetWindowLongPtr
Definition: treelist.c:73
#define SetWindowLongPtr
Definition: treelist.c:70
#define GWLP_WNDPROC
Definition: treelist.c:66
#define WM_NCDESTROY
Definition: winuser.h:1703
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2982

Referenced by GetWindowProc().

Member Data Documentation

◆ BIHorizontalBaseBar

const int CShellBrowser::BIHorizontalBaseBar = 2
staticprivate

Definition at line 297 of file shellbrowser.cpp.

Referenced by GetBaseBar().

◆ BIInternetToolbar

◆ BIVerticalBaseBar

const int CShellBrowser::BIVerticalBaseBar = 1
staticprivate

Definition at line 296 of file shellbrowser.cpp.

Referenced by Exec(), GetBaseBar(), and GetControlWindow().

◆ fClientBars

◆ fCurrentDirectoryPIDL

◆ fCurrentMenuBar

HMENU CShellBrowser::fCurrentMenuBar
private

◆ fCurrentShellFolder

CComPtr<IShellFolder> CShellBrowser::fCurrentShellFolder
private

Definition at line 300 of file shellbrowser.cpp.

Referenced by BrowseToPath(), and OnDestroy().

◆ fCurrentShellView

◆ fCurrentShellViewWindow

HWND CShellBrowser::fCurrentShellViewWindow
private

◆ fCurrentVertBar

GUID CShellBrowser::fCurrentVertBar
private

Definition at line 308 of file shellbrowser.cpp.

Referenced by Exec(), QueryStatus(), ShowBand(), and UpdateViewMenu().

◆ fHistoryBindContext

IBindCtx* CShellBrowser::fHistoryBindContext
private

Definition at line 313 of file shellbrowser.cpp.

Referenced by CShellBrowser(), GetHistoryObject(), and LoadHistory().

◆ fHistoryObject

IOleObject* CShellBrowser::fHistoryObject
private

Definition at line 311 of file shellbrowser.cpp.

Referenced by CShellBrowser(), GetHistoryObject(), and LoadHistory().

◆ fHistoryStream

IStream* CShellBrowser::fHistoryStream
private

Definition at line 312 of file shellbrowser.cpp.

Referenced by CShellBrowser(), GetHistoryObject(), and LoadHistory().

◆ fStatusBar

HWND CShellBrowser::fStatusBar
private

◆ fToolbarProxy

CToolbarProxy CShellBrowser::fToolbarProxy
private

Definition at line 304 of file shellbrowser.cpp.

Referenced by GetControlWindow(), Initialize(), OnDestroy(), and SendControlMsg().

◆ fTravelLog

CComPtr<ITravelLog> CShellBrowser::fTravelLog
private

Definition at line 306 of file shellbrowser.cpp.

Referenced by BrowseObject(), GetTravelLog(), and OnDestroy().

◆ grfMode

DWORD CShellBrowser::grfMode

Definition at line 519 of file shellbrowser.cpp.

◆ m_BrowserSvcFlags

◆ m_deffoldersettings

SBFOLDERSETTINGS CShellBrowser::m_deffoldersettings
private

◆ m_Destroyed

bool CShellBrowser::m_Destroyed
private

Definition at line 319 of file shellbrowser.cpp.

Referenced by BrowseToPath(), CShellBrowser(), and OnDestroy().

◆ m_hAccel

HACCEL CShellBrowser::m_hAccel
private

Definition at line 315 of file shellbrowser.cpp.

Referenced by OnCreate(), and TranslateAcceleratorSB().

◆ m_NonFullscreenState

BYTE CShellBrowser::m_NonFullscreenState
private

Definition at line 320 of file shellbrowser.cpp.

Referenced by OnDestroy(), and OnToggleFullscreen().

◆ m_settings

◆ menuDsa

HDSA CShellBrowser::menuDsa
private

◆ override [1/4]

UINT WPARAM LPARAM lParam CShellBrowser::override

Definition at line 470 of file shellbrowser.cpp.

◆ override [2/4]

LPARAM lParam CShellBrowser::override

Definition at line 475 of file shellbrowser.cpp.

◆ override [3/4]

DWORD LPCWSTR pwszName CShellBrowser::override

Definition at line 519 of file shellbrowser.cpp.

◆ override [4/4]

WPARAM LPARAM lParam CShellBrowser::override

Definition at line 520 of file shellbrowser.cpp.

◆ uMsg

◆ wParam [1/2]

◆ wParam [2/2]

WPARAM CShellBrowser::wParam

Definition at line 520 of file shellbrowser.cpp.


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