ReactOS 0.4.16-dev-1093-g93e9710
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 2961 of file shellbrowser.cpp.

2962{
2963 return E_NOTIMPL;
2964}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ _CancelPendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView ( )
override

Implements IBrowserService2.

Definition at line 2966 of file shellbrowser.cpp.

2967{
2968 return E_NOTIMPL;
2969}

◆ _CloseAndReleaseToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars ( BOOL  fClose)
override

Implements IBrowserService2.

Definition at line 3113 of file shellbrowser.cpp.

3114{
3115 return E_NOTIMPL;
3116}

◆ _DisableModeless()

HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless ( )
override

Implements IBrowserService2.

Definition at line 2981 of file shellbrowser.cpp.

2982{
2983 return E_NOTIMPL;
2984}

◆ _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 3011 of file shellbrowser.cpp.

3013{
3014 return E_NOTIMPL;
3015}

◆ _GetBorderDWHelper()

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

Implements IBrowserService2.

Definition at line 3153 of file shellbrowser.cpp.

3154{
3155 return E_NOTIMPL;
3156}

◆ _GetEffectiveClientArea()

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

Implements IBrowserService2.

Definition at line 3073 of file shellbrowser.cpp.

3074{
3075 return E_NOTIMPL;
3076}

◆ _GetViewBorderRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 3053 of file shellbrowser.cpp.

3054{
3055 return E_NOTIMPL;
3056}

◆ _Initialize()

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

Implements IBrowserService2.

Definition at line 2956 of file shellbrowser.cpp.

2957{
2958 return E_NOTIMPL;
2959}

◆ _LoadToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3108 of file shellbrowser.cpp.

3109{
3110 return E_NOTIMPL;
3111}

◆ _MaySaveChanges()

HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges ( )
override

Implements IBrowserService2.

Definition at line 2971 of file shellbrowser.cpp.

2972{
2973 return E_NOTIMPL;
2974}

◆ _NavigateToPidl()

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

Definition at line 2986 of file shellbrowser.cpp.

2987{
2988 const UINT navflags = HLNF_NAVIGATINGBACK | HLNF_NAVIGATINGFORWARD;
2989 if ((grfHLNF & navflags) && grfHLNF != ~0ul)
2990 {
2991 UINT SbspFlags = (grfHLNF & HLNF_NAVIGATINGBACK) ? SBSP_NAVIGATEBACK : SBSP_NAVIGATEFORWARD;
2992 if (grfHLNF & SHHLNF_WRITENOHISTORY)
2993 SbspFlags |= SBSP_WRITENOHISTORY;
2994 if (grfHLNF & SHHLNF_NOAUTOSELECT)
2995 SbspFlags |= SBSP_NOAUTOSELECT;
2996 return BrowseObject(pidl, SbspFlags);
2997 }
2998 return E_NOTIMPL;
2999}
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 3028 of file shellbrowser.cpp.

3029{
3030 return E_NOTIMPL;
3031}

◆ _PauseOrResumeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView ( BOOL  fPaused)
override

Implements IBrowserService2.

Definition at line 2976 of file shellbrowser.cpp.

2977{
2978 return E_NOTIMPL;
2979}

◆ _put_itbLastFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus ( UINT  itbLastFocus)
override

Implements IBrowserService2.

Definition at line 3043 of file shellbrowser.cpp.

3044{
3045 return E_NOTIMPL;
3046}

◆ _ResizeNextBorder()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3063 of file shellbrowser.cpp.

3064{
3065 return E_NOTIMPL;
3066}

◆ _ResizeNextBorderHelper()

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

Implements IBrowserService2.

Definition at line 3124 of file shellbrowser.cpp.

3125{
3126 return E_NOTIMPL;
3127}

◆ _ResizeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView ( )
override

Implements IBrowserService2.

Definition at line 3068 of file shellbrowser.cpp.

3069{
3070 return E_NOTIMPL;
3071}

◆ _SaveToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3103 of file shellbrowser.cpp.

3104{
3105 return E_NOTIMPL;
3106}

◆ _SendChildren()

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

Implements IBrowserService2.

Definition at line 3017 of file shellbrowser.cpp.

3019{
3020 return E_NOTIMPL;
3021}

◆ _SetFocus()

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

Implements IBrowserService2.

Definition at line 3134 of file shellbrowser.cpp.

3135{
3136 return E_NOTIMPL;
3137}

◆ _SwitchActivationNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow ( )
override

Implements IBrowserService2.

Definition at line 3006 of file shellbrowser.cpp.

3007{
3008 return E_NOTIMPL;
3009}

◆ _TryShell2Rename()

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

Definition at line 3001 of file shellbrowser.cpp.

3002{
3003 return E_NOTIMPL;
3004}

◆ _UIActivateView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView ( UINT  uState)
override

Implements IBrowserService2.

Definition at line 3048 of file shellbrowser.cpp.

3049{
3050 return E_NOTIMPL;
3051}

◆ _UpdateViewRectSize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize ( )
override

Implements IBrowserService2.

Definition at line 3058 of file shellbrowser.cpp.

3059{
3060 return E_NOTIMPL;
3061}

◆ ActivatePendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView ( )
override

Implements IBrowserService2.

Definition at line 2884 of file shellbrowser.cpp.

2885{
2886 return E_NOTIMPL;
2887}

◆ AllowViewResize()

HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize ( BOOL  f)
override

Implements IBrowserService2.

Definition at line 2931 of file shellbrowser.cpp.

2932{
2933 return E_NOTIMPL;
2934}

◆ 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:2214
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 2372 of file shellbrowser.cpp.

2373{
2375 // FIXME: Should not automatically show the Explorer band
2376 if ((wFlags & SBSP_EXPLOREMODE) && !(wFlags & SBSP_NEWBROWSER))
2377 ShowBand(CLSID_ExplorerBand, true);
2378
2379 CComHeapPtr<ITEMIDLIST> pidlResolved;
2380 if (wFlags & (SBSP_RELATIVE | SBSP_PARENT))
2381 {
2382 HRESULT hr = CreateRelativeBrowsePIDL(pidl, wFlags, &pidlResolved);
2383 if (FAILED(hr))
2384 return hr;
2385 pidl = pidlResolved;
2386 }
2387
2388 if (wFlags & SBSP_NEWBROWSER)
2389 return OpenNewBrowserWindow(pidl, wFlags);
2390
2391 switch (wFlags & (SBSP_ABSOLUTE | SBSP_RELATIVE | SBSP_PARENT | SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
2392 {
2393 case SBSP_PARENT:
2394 return NavigateToParent();
2395 case SBSP_NAVIGATEBACK:
2396 return GoBack();
2397 case SBSP_NAVIGATEFORWARD:
2398 return GoForward();
2399 }
2400
2401 // TODO: SBSP_WRITENOHISTORY? SBSP_CREATENOHISTORY?
2403 if (fTravelLog)
2405 if (wFlags & SBSP_ACTIVATE_NOFOCUS)
2407 return BrowseToPIDL(pidl, flags);
2408}
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
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531

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
#define FAILED_UNEXPECTEDLY(hr)
Definition: debug.h:83
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
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:1743
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:5863
#define LoadCursor
Definition: winuser.h:5832
#define IDC_WAIT
Definition: winuser.h:697
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2390
#define WM_SETREDRAW
Definition: winuser.h:1627
#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 1895 of file shellbrowser.cpp.

1896{
1897 HRESULT hr;
1898 CComPtr<IEnumGUID> pEnumGUID;
1899 WCHAR wszBandName[MAX_PATH];
1900 WCHAR wszBandGUID[MAX_PATH];
1901 WCHAR wRegKey[MAX_PATH];
1902 UINT cBands;
1903 DWORD dwRead;
1904 DWORD dwDataSize;
1905 GUID iter;
1906 MenuBandInfo mbi;
1907
1908 mbi.fVertical = IsEqualGUID(category, CATID_InfoBand);
1909 cBands = 0;
1910 hr = SHEnumClassesOfCategories(1, &category, 0, NULL, &pEnumGUID);
1912 {
1913 return hr;
1914 }
1915 do
1916 {
1917 pEnumGUID->Next(1, &iter, &dwRead);
1918 if (dwRead)
1919 {
1920 // Get the band name
1921 if (IsBuiltinBand(iter))
1922 continue;
1923 if (!StringFromGUID2(iter, wszBandGUID, MAX_PATH))
1924 continue;
1925 StringCchPrintfW(wRegKey, MAX_PATH, L"CLSID\\%s", wszBandGUID);
1926 dwDataSize = MAX_PATH;
1927 SHGetValue(HKEY_CLASSES_ROOT, wRegKey, NULL, NULL, wszBandName, &dwDataSize);
1928
1929 mbi.barGuid = iter;
1930 InsertMenu(hBandsMenu, dwPos + cBands, MF_BYPOSITION, IDM_EXPLORERBAND_BEGINCUSTOM + DSA_GetItemCount(menuDsa), wszBandName);
1931 DSA_AppendItem(menuDsa, &mbi);
1932 cBands++;
1933 }
1934 }
1935 while (dwRead > 0);
1936 if (nbFound)
1937 *nbFound = cBands;
1938 return S_OK;
1939}
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:5823
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by BuildExplorerBandMenu().

◆ BuildExplorerBandMenu()

HRESULT CShellBrowser::BuildExplorerBandMenu ( )

Definition at line 1871 of file shellbrowser.cpp.

1872{
1873 HMENU hBandsMenu;
1874 UINT nbFound;
1875
1877 if (!hBandsMenu)
1878 {
1879 OutputDebugString(L"No menu !\n");
1880 return E_FAIL;
1881 }
1883 BuildExplorerBandCategory(hBandsMenu, CATID_InfoBand, 4, NULL);
1884 BuildExplorerBandCategory(hBandsMenu, CATID_CommBand, 20, &nbFound);
1885 if (!nbFound)
1886 {
1887 // Remove separator
1889 }
1890 // Remove media menu since XP does it (according to API Monitor)
1892 return S_OK;
1893}
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:3921
#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 2796 of file shellbrowser.cpp.

2797{
2798 return E_NOTIMPL;
2799}

◆ CanNavigateNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow ( void  )
override

Implements IBrowserService.

Definition at line 2744 of file shellbrowser.cpp.

2745{
2746 return E_NOTIMPL;
2747}

◆ ClientToWindow()

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

Definition at line 3349 of file shellbrowser.cpp.

3350{
3351 return E_NOTIMPL;
3352}

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 2284 of file shellbrowser.cpp.

2285{
2286 return E_NOTIMPL;
2287}

◆ CreateBrowserPropSheetExt()

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

Implements IBrowserService2.

Definition at line 2895 of file shellbrowser.cpp.

2896{
2897 return E_NOTIMPL;
2898}

◆ 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 2889 of file shellbrowser.cpp.

2891{
2892 return E_NOTIMPL;
2893}

◆ DisplayParseError()

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

Implements IBrowserService.

Definition at line 2697 of file shellbrowser.cpp.

2698{
2699 return E_NOTIMPL;
2700}

◆ 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 2488 of file shellbrowser.cpp.

2490{
2491 return E_NOTIMPL;
2492}

◆ DragLeave()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave ( void  )
override

Implements IDropTarget.

Definition at line 2499 of file shellbrowser.cpp.

2500{
2501 return E_NOTIMPL;
2502}

◆ DragOver()

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

Implements IDropTarget.

Definition at line 2494 of file shellbrowser.cpp.

2495{
2496 return E_NOTIMPL;
2497}

◆ Drop()

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

Implements IDropTarget.

Definition at line 2504 of file shellbrowser.cpp.

2506{
2507 return E_NOTIMPL;
2508}

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB ( BOOL  fEnable)
override

Implements IShellBrowser.

Definition at line 2360 of file shellbrowser.cpp.

2361{
2362 return E_NOTIMPL;
2363}

◆ Exec()

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

Implements IOleCommandTarget.

Definition at line 2132 of file shellbrowser.cpp.

2134{
2135 if (!pguidCmdGroup)
2136 {
2137 TRACE("Unhandled null CGID %d %d %p %p\n", nCmdID, nCmdexecopt, pvaIn, pvaOut);
2138 return E_NOTIMPL;
2139 }
2140 if (IsEqualIID(*pguidCmdGroup, CGID_Explorer))
2141 {
2142 switch (nCmdID)
2143 {
2144 case 0x1c: //Toggle Search
2145 case 0x1d: //Toggle History
2146 case 0x1e: //Toggle Favorites
2147 case SBCMDID_EXPLORERBARFOLDERS: //Toggle Folders
2148 const GUID* pclsid;
2149 if (nCmdID == 0x1c) pclsid = &CLSID_FileSearchBand;
2150 else if (nCmdID == 0x1d) pclsid = &CLSID_SH_HistBand;
2151 else if (nCmdID == 0x1e) pclsid = &CLSID_SH_FavBand;
2152 else pclsid = &CLSID_ExplorerBand;
2153
2154 if (IsEqualCLSID(*pclsid, fCurrentVertBar))
2155 {
2159 }
2160 else
2161 {
2162 ShowBand(*pclsid, true);
2163 }
2164 return S_OK;
2165 case 0x22:
2166 //Sent when a band closes
2167 if (V_VT(pvaIn) != VT_UNKNOWN)
2168 return E_INVALIDARG;
2169
2170 if (IUnknownIsEqual(V_UNKNOWN(pvaIn), fClientBars[BIVerticalBaseBar].clientBar.p))
2171 {
2174 }
2175 return S_OK;
2176 case 0x27:
2177 if (nCmdexecopt == 1)
2178 {
2179 // pvaIn is a VT_UNKNOWN with a band that is being hidden
2180 }
2181 else
2182 {
2183 // update zones part of the status bar
2184 }
2185 return S_OK;
2186 case 0x35: // don't do this, and the internet toolbar doesn't create a menu band
2187 V_VT(pvaOut) = VT_INT_PTR;
2188 V_INTREF(pvaOut) = reinterpret_cast<INT *>(
2189 LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU)));
2190 return S_OK;
2191 case 0x38:
2192 // indicate if this cabinet was opened as a browser
2193 return S_FALSE;
2194 default:
2195 return E_NOTIMPL;
2196 }
2197 }
2198 else if (IsEqualIID(*pguidCmdGroup, CGID_InternetButtons))
2199 {
2200 switch (nCmdID)
2201 {
2202 case 0x23:
2203 // placeholder
2204 return S_OK;
2205 }
2206 }
2207 else if (IsEqualIID(*pguidCmdGroup, CGID_Theater))
2208 {
2209 switch (nCmdID)
2210 {
2211 case 6:
2212 // what is theater mode and why do we receive this?
2213 return E_NOTIMPL;
2214 }
2215 }
2216 else if (IsEqualIID(*pguidCmdGroup, CGID_MenuBand))
2217 {
2218 switch (nCmdID)
2219 {
2220 case 14:
2221 // initialize favorites menu
2222 return S_OK;
2223 }
2224 }
2225 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView))
2226 {
2227 switch (nCmdID)
2228 {
2229 case 0x12:
2230 // refresh on toolbar clicked
2231 return S_OK;
2232 case 0x26:
2233 // called for unknown bands ?
2234 return S_OK;
2235 case 0x4d:
2236 // tell the view if it should hide the task pane or not
2237 return (fClientBars[BIVerticalBaseBar].clientBar.p == NULL) ? S_FALSE : S_OK;
2238 }
2239 }
2240 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser))
2241 {
2242 switch (nCmdID)
2243 {
2244 case 40994:
2245 return NavigateToParent();
2248 break;
2249 }
2250 }
2251 else if (IsEqualIID(*pguidCmdGroup, CGID_IExplorerToolbar))
2252 {
2253 switch (nCmdID)
2254 {
2255 case 0x7063:
2256 return DoFolderOptions();
2257 }
2258 }
2259 else if (IsEqualIID(*pguidCmdGroup, CGID_DefView))
2260 {
2261 switch (nCmdID)
2262 {
2266 break;
2267 }
2268 }
2269 else
2270 {
2271 return E_NOTIMPL;
2272 }
2273 return E_NOTIMPL;
2274}
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:5837

Referenced by ShowControlWindow().

◆ ExecWB()

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

Definition at line 3508 of file shellbrowser.cpp.

3510{
3514 if (SUCCEEDED(hr))
3515 hr = pOCT->Exec(NULL, cmdID, cmdexecopt, pvaIn, pvaOut);
3516 return hr;
3517}
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 3623 of file shellbrowser.cpp.

3624{
3625 return E_NOTIMPL;
3626}

◆ FireCommandStateChange()

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

Definition at line 1682 of file shellbrowser.cpp.

1683{
1684 VARIANT varArg[2];
1685
1686 V_VT(&varArg[0]) = VT_BOOL;
1687 V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE;
1688 V_VT(&varArg[1]) = VT_I4;
1689 V_I4(&varArg[1]) = commandID;
1690
1691 return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg);
1692}
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 1694 of file shellbrowser.cpp.

1695{
1696 return FireCommandStateChange(false, -1);
1697}
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 1625 of file shellbrowser.cpp.

1626{
1630 HRESULT hResult;
1631
1632 params.rgvarg = arguments;
1633 params.rgdispidNamedArgs = NULL;
1634 params.cArgs = argCount;
1635 params.cNamedArgs = 0;
1636 IUnknown** pp = vec.begin();
1637 while (pp < vec.end())
1638 {
1639 if (*pp != NULL)
1640 {
1641 CComPtr<IDispatch> theDispatch;
1642 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1643 if (SUCCEEDED(hResult))
1644 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1645 }
1646 pp++;
1647 }
1648 pp = vec2.begin();
1649 while (pp < vec2.end())
1650 {
1651 if (*pp != NULL)
1652 {
1653 CComPtr<IDispatch> theDispatch;
1654 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1655 if (SUCCEEDED(hResult))
1656 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1657 }
1658 pp++;
1659 }
1660 return S_OK;
1661}
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 1699 of file shellbrowser.cpp.

1700{
1701 VARIANT vArgs[1];
1702 V_VT(&vArgs[0]) = VT_BOOL;
1703 V_BOOL(&vArgs[0]) = Param1 ? VARIANT_TRUE : VARIANT_FALSE;
1704 return FireEvent(dispIdMember, 1, vArgs);
1705}

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 1663 of file shellbrowser.cpp.

1664{
1665 // these two variants intentionally to do use CComVariant because it would double free/release
1666 // or does not need to dispose at all
1667 VARIANT varArg[2];
1668 VARIANT varArgs;
1669 CComBSTR tempString(newDirectory);
1670
1671 V_VT(&varArgs) = VT_BSTR;
1672 V_BSTR(&varArgs) = tempString.m_str;
1673
1674 V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF;
1675 V_VARIANTREF(&varArg[0]) = &varArgs;
1676 V_VT(&varArg[1]) = VT_DISPATCH;
1677 V_DISPATCH(&varArg[1]) = (IDispatch *)this;
1678
1679 return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg);
1680}
@ 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 3597 of file shellbrowser.cpp.

3598{
3599 *Value = IsControlWindowShown(FCW_ADDRESSBAR, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3600 return S_OK;
3601}
#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 3254 of file shellbrowser.cpp.

3255{
3256 return E_NOTIMPL;
3257}

◆ get_Busy()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy ( VARIANT_BOOL pBool)
override

Definition at line 3338 of file shellbrowser.cpp.

3339{
3340 return E_NOTIMPL;
3341}

◆ get_Container()

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

Definition at line 3264 of file shellbrowser.cpp.

3265{
3266 return E_NOTIMPL;
3267}

◆ get_Document()

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

Definition at line 3269 of file shellbrowser.cpp.

3270{
3271 return E_NOTIMPL;
3272}

◆ get_FullName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName ( BSTR FullName)
override

Definition at line 3375 of file shellbrowser.cpp.

3376{
3377 return E_NOTIMPL;
3378}

◆ get_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen ( VARIANT_BOOL pbFullScreen)
override

Definition at line 3460 of file shellbrowser.cpp.

3461{
3462 *pbFullScreen = (m_BrowserSvcFlags & BSF_ROS_KIOSK) ? VARIANT_TRUE : VARIANT_FALSE;
3463 return S_OK;
3464}

◆ get_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height ( long pl)
override

Definition at line 3316 of file shellbrowser.cpp.

3317{
3318 return E_NOTIMPL;
3319}

◆ get_HWND()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND ( SHANDLE_PTR pHWND)
override

Definition at line 3369 of file shellbrowser.cpp.

3370{
3372 return *pHWND ? S_OK : E_UNEXPECTED;
3373}
#define HandleToLong(h)
Definition: basetsd.h:80
HWND GetTopLevelBrowserWindow()

◆ get_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left ( long pl)
override

Definition at line 3286 of file shellbrowser.cpp.

3287{
3288 return E_NOTIMPL;
3289}

◆ get_LocationName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName ( BSTR LocationName)
override

Definition at line 3328 of file shellbrowser.cpp.

3329{
3330 return E_NOTIMPL;
3331}

◆ get_LocationURL()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL ( BSTR LocationURL)
override

Definition at line 3333 of file shellbrowser.cpp.

3334{
3335 return E_NOTIMPL;
3336}

◆ get_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar ( VARIANT_BOOL Value)
override

Definition at line 3446 of file shellbrowser.cpp.

3447{
3448 *Value = IsControlWindowShown(FCW_MENU, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3449 return S_OK;
3450}
#define FCW_MENU

Referenced by OnToggleFullscreen().

◆ get_Name()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name ( BSTR Name)
override

Definition at line 3364 of file shellbrowser.cpp.

3365{
3366 return E_NOTIMPL;
3367}

◆ get_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline ( VARIANT_BOOL pbOffline)
override

Definition at line 3538 of file shellbrowser.cpp.

3539{
3540 return E_NOTIMPL;
3541}

◆ get_Parent()

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

Definition at line 3259 of file shellbrowser.cpp.

3260{
3261 return E_NOTIMPL;
3262}

◆ get_Path()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path ( BSTR Path)
override

Definition at line 3380 of file shellbrowser.cpp.

3381{
3382 return E_NOTIMPL;
3383}

◆ get_ReadyState()

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

Definition at line 3533 of file shellbrowser.cpp.

3534{
3535 return E_NOTIMPL;
3536}

◆ get_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser ( VARIANT_BOOL pbRegister)
override

Definition at line 3558 of file shellbrowser.cpp.

3559{
3560 *pbRegister = (m_BrowserSvcFlags & BSF_ROS_REGBROWSER) ? VARIANT_TRUE : VARIANT_FALSE;
3561 return S_OK;
3562}

◆ get_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget ( VARIANT_BOOL pbRegister)
override

Definition at line 3572 of file shellbrowser.cpp.

3573{
3574 *pbRegister = (m_BrowserSvcFlags & BSF_REGISTERASDROPTARGET) ? VARIANT_TRUE : VARIANT_FALSE;
3575 return S_OK;
3576}

◆ get_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable ( VARIANT_BOOL Value)
override

Definition at line 3611 of file shellbrowser.cpp.

3612{
3613 *Value = (m_BrowserSvcFlags & BSF_RESIZABLE) ? VARIANT_TRUE : VARIANT_FALSE;
3614 return E_NOTIMPL;
3615}

◆ get_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent ( VARIANT_BOOL pbSilent)
override

Definition at line 3548 of file shellbrowser.cpp.

3549{
3550 return E_NOTIMPL;
3551}

◆ get_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar ( VARIANT_BOOL pBool)
override

Definition at line 3404 of file shellbrowser.cpp.

3405{
3406 *pBool = IsControlWindowShown(FCW_STATUS, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3407 return S_OK;
3408}

Referenced by OnToggleFullscreen().

◆ get_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText ( BSTR StatusText)
override

Definition at line 3418 of file shellbrowser.cpp.

3419{
3420 return E_NOTIMPL;
3421}

◆ get_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode ( VARIANT_BOOL pbRegister)
override

Definition at line 3584 of file shellbrowser.cpp.

3585{
3586 *pbRegister = (m_BrowserSvcFlags & BSF_THEATERMODE) ? VARIANT_TRUE : VARIANT_FALSE;
3587 return S_OK;
3588}

◆ get_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar ( int Value)
override

Definition at line 3429 of file shellbrowser.cpp.

3430{
3431 *Value = IsControlWindowShown(FCW_INTERNETBAR, NULL) == S_OK;
3432 if (!*Value && IsControlWindowShown(FCW_TOOLBAR, NULL) == S_OK)
3433 *Value = FCW_TOOLBAR;
3434 return S_OK;
3435}

◆ get_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top ( long pl)
override

Definition at line 3296 of file shellbrowser.cpp.

3297{
3298 return E_NOTIMPL;
3299}

◆ get_TopLevelContainer()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer ( VARIANT_BOOL pBool)
override

Definition at line 3274 of file shellbrowser.cpp.

3275{
3276 return E_NOTIMPL;
3277}

◆ get_Type()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type ( BSTR Type)
override

Definition at line 3279 of file shellbrowser.cpp.

3280{
3281 return E_NOTIMPL;
3282}

◆ get_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible ( VARIANT_BOOL pBool)
override

Definition at line 3385 of file shellbrowser.cpp.

3386{
3388 *pBool = hWnd && ::IsWindowVisible(hWnd) ? VARIANT_TRUE : VARIANT_FALSE;
3389 return S_OK;
3390}
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 3306 of file shellbrowser.cpp.

3307{
3308 return E_NOTIMPL;
3309}

◆ 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 2905 of file shellbrowser.cpp.

2906{
2907 return E_NOTIMPL;
2908}

◆ GetBorderDW()

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

Definition at line 2010 of file shellbrowser.cpp.

2011{
2012 static const INT excludeItems[] = { 1, 1, 1, IDC_STATUSBAR, 0, 0 };
2013
2014 RECT availableBounds;
2015
2016 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
2017 for (INT x = 0; x < 3; x++)
2018 {
2019 if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
2020 {
2021 availableBounds.top += fClientBars[x].borderSpace.top;
2022 availableBounds.left += fClientBars[x].borderSpace.left;
2023 availableBounds.bottom -= fClientBars[x].borderSpace.bottom;
2024 availableBounds.right -= fClientBars[x].borderSpace.right;
2025 }
2026 }
2027 *prcBorder = availableBounds;
2028 return S_OK;
2029}
#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 2765 of file shellbrowser.cpp.

2766{
2767 return E_NOTIMPL;
2768}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 3647 of file shellbrowser.cpp.

3648{
3649 return E_NOTIMPL;
3650}

◆ GetControlWindow()

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

Implements IShellBrowser.

Definition at line 2415 of file shellbrowser.cpp.

2416{
2417 if (lphwnd == NULL)
2418 return E_POINTER;
2419 *lphwnd = NULL;
2420 switch (id)
2421 {
2422 case FCW_TOOLBAR:
2423 *lphwnd = fToolbarProxy.m_hWnd;
2424 return S_OK;
2425 case FCW_STATUS:
2426 *lphwnd = fStatusBar;
2427 return S_OK;
2428 case FCW_TREE:
2429 {
2430 BOOL shown;
2431 if (SUCCEEDED(IsControlWindowShown(id, &shown)) && shown)
2432 return IUnknown_GetWindow(fClientBars[BIVerticalBaseBar].clientBar.p, lphwnd);
2433 return S_FALSE;
2434 }
2435 case FCW_PROGRESS:
2436 // is this a progress dialog?
2437 return S_OK;
2438 }
2439 return S_OK;
2440}
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 2738 of file shellbrowser.cpp.

2739{
2740 *pdwFlags = m_BrowserSvcFlags;
2741 return S_OK;
2742}

◆ GetFolderSetData()

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

Implements IBrowserService2.

Definition at line 3023 of file shellbrowser.cpp.

3024{
3025 return E_NOTIMPL;
3026}

◆ GetHistoryObject()

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

Implements IBrowserService.

Definition at line 2770 of file shellbrowser.cpp.

2771{
2772 if (ppole == NULL || pstm == NULL || ppbc == NULL)
2773 return E_INVALIDARG;
2774 *ppole = fHistoryObject;
2775 if (fHistoryObject != NULL)
2777 *pstm = fHistoryStream;
2778 if (fHistoryStream != NULL)
2780 *ppbc = fHistoryBindContext;
2786 if (*ppole == NULL)
2787 return E_FAIL;
2788 return S_OK;
2789}
ULONG AddRef()

◆ GetIDsOfNames()

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

Definition at line 2570 of file shellbrowser.cpp.

2572{
2573 return E_NOTIMPL;
2574}

◆ 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:884

Referenced by SetMenuSB(), and WindowProc().

◆ GetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState ( BNSTATE pbnstate)
override

Implements IBrowserService.

Definition at line 2712 of file shellbrowser.cpp.

2713{
2714 return E_NOTIMPL;
2715}

◆ GetOleObject()

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

Implements IBrowserService.

Definition at line 2597 of file shellbrowser.cpp.

2598{
2599 return E_NOTIMPL;
2600}

◆ GetPalette()

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

Implements IBrowserService.

Definition at line 2812 of file shellbrowser.cpp.

2813{
2814 return E_NOTIMPL;
2815}

◆ GetParentSite()

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

Implements IBrowserService.

Definition at line 2582 of file shellbrowser.cpp.

2583{
2584 return E_NOTIMPL;
2585}

◆ GetPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl ( LPITEMIDLIST ppidl)
override

Definition at line 2749 of file shellbrowser.cpp.

2750{
2751 // called by explorer bar to get current pidl
2752 return ppidl ? SHILClone(fCurrentDirectoryPIDL, ppidl) : E_POINTER;
2753}

Referenced by CreateRelativeBrowsePIDL(), and GetPropertyBag().

◆ GetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie ( DWORD pdwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3736 of file shellbrowser.cpp.

3737{
3738 return E_NOTIMPL;
3739}

◆ GetProperty()

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

Definition at line 3359 of file shellbrowser.cpp.

3360{
3361 return E_NOTIMPL;
3362}

◆ GetPropertyBag()

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

Definition at line 2537 of file shellbrowser.cpp.

2538{
2539 if (ppvObject == NULL)
2540 return E_POINTER;
2541
2542 *ppvObject = NULL;
2543
2544 LPITEMIDLIST pidl;
2545 HRESULT hr = GetPidl(&pidl);
2547 return E_FAIL;
2548
2549 // FIXME: pidl for Internet etc.
2550
2551 if (_ILIsNetworkPlace(pidl))
2552 flags |= SHGVSPB_ROAM;
2553
2554 hr = SHGetViewStatePropertyBag(pidl, L"Shell", flags, riid, ppvObject);
2555
2556 ILFree(pidl);
2557 return hr;
2558}
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 2801 of file shellbrowser.cpp.

2802{
2803 return E_NOTIMPL;
2804}

◆ GetTitle()

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

Implements IBrowserService.

Definition at line 2592 of file shellbrowser.cpp.

2593{
2594 return E_NOTIMPL;
2595}

◆ 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 2602 of file shellbrowser.cpp.

2603{
2604 HRESULT hResult;
2605
2606 // called by toolbar when displaying tooltips
2607 if (pptl == NULL)
2608 return E_FAIL;
2609
2610 *pptl = NULL;
2611 if (fTravelLog.p == NULL)
2612 {
2614 if (FAILED_UNEXPECTEDLY(hResult))
2615 return hResult;
2616 }
2617 *pptl = fTravelLog.p;
2618 fTravelLog.p->AddRef();
2619 return S_OK;
2620}
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 2565 of file shellbrowser.cpp.

2566{
2567 return E_NOTIMPL;
2568}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfoCount ( UINT pctinfo)
override

Definition at line 2560 of file shellbrowser.cpp.

2561{
2562 return E_NOTIMPL;
2563}

◆ GetViewRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 2838 of file shellbrowser.cpp.

2839{
2840 return E_NOTIMPL;
2841}

◆ GetViewStateStream()

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

Implements IShellBrowser.

Definition at line 2410 of file shellbrowser.cpp.

2411{
2412 return E_NOTIMPL;
2413}

◆ GetViewWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewWindow ( HWND phwndView)
override

Implements IBrowserService2.

Definition at line 2900 of file shellbrowser.cpp.

2901{
2902 return E_NOTIMPL;
2903}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 2276 of file shellbrowser.cpp.

2277{
2278 if (lphwnd == NULL)
2279 return E_POINTER;
2280 *lphwnd = m_hWnd;
2281 return S_OK;
2282}

◆ GetWindowData()

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

Implements ITravelLogClient.

Definition at line 3628 of file shellbrowser.cpp.

3629{
3630 if (pWinData == NULL)
3631 return E_POINTER;
3632
3633 pWinData->dwWindowID = -1;
3634 pWinData->uiCP = 0;
3635 pWinData->pidl = ILClone(fCurrentDirectoryPIDL);
3636 pWinData->lpszUrl = NULL;
3637 pWinData->lpszUrlLocation = NULL;
3638 pWinData->lpszTitle = NULL;
3639 return S_OK;
3640}
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:5833
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5739

◆ GoBack()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoBack ( )
override

Definition at line 3163 of file shellbrowser.cpp.

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

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

◆ GoForward()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoForward ( )
override

Definition at line 3183 of file shellbrowser.cpp.

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

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

◆ GoHome()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoHome ( )
override

Definition at line 3203 of file shellbrowser.cpp.

3204{
3205 return E_NOTIMPL;
3206}

Referenced by OnGoHome().

◆ GoSearch()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoSearch ( )
override

Definition at line 3208 of file shellbrowser.cpp.

3209{
3210 return E_NOTIMPL;
3211}

◆ IEGetDisplayName()

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

Definition at line 2687 of file shellbrowser.cpp.

2688{
2689 return E_NOTIMPL;
2690}

◆ IEParseDisplayName()

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

Definition at line 2692 of file shellbrowser.cpp.

2693{
2694 return E_NOTIMPL;
2695}

◆ 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 2946 of file shellbrowser.cpp.

2947{
2948 return E_NOTIMPL;
2949}

◆ InitializeTransitionSite()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTransitionSite ( )
override

Implements IBrowserService2.

Definition at line 2951 of file shellbrowser.cpp.

2952{
2953 return E_NOTIMPL;
2954}

◆ InitializeTravelLog()

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

Implements IBrowserService2.

Definition at line 2915 of file shellbrowser.cpp.

2916{
2917 return E_NOTIMPL;
2918}

◆ InsertMenusSB()

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

Implements IShellBrowser.

Definition at line 2289 of file shellbrowser.cpp.

2290{
2291 HMENU mainMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2292
2293 Shell_MergeMenus(hmenuShared, mainMenu, 0, 0, FCIDM_BROWSERLAST, MM_SUBMENUSHAVEIDS);
2294
2295 int GCCU(itemCount3) = GetMenuItemCount(hmenuShared);
2296 Unused(itemCount3);
2297
2298 DestroyMenu(mainMenu);
2299
2300 lpMenuWidths->width[0] = 2;
2301 lpMenuWidths->width[2] = 3;
2302 lpMenuWidths->width[4] = 1;
2303 return S_OK;
2304}
#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 2576 of file shellbrowser.cpp.

2578{
2579 return E_NOTIMPL;
2580}

◆ 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 1941 of file shellbrowser.cpp.

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

Referenced by BuildExplorerBandCategory().

◆ IsControlWindowShown()

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

Implements IBrowserService.

Definition at line 2646 of file shellbrowser.cpp.

2647{
2648 HRESULT hr = S_OK;
2649 BOOL shown = FALSE;
2650 switch (id)
2651 {
2652 case FCW_STATUS:
2654 break;
2655 case FCW_TREE:
2656 {
2658 hr = QueryStatus(&CGID_Explorer, 1, &cmd, NULL);
2659 shown = cmd.cmdf & OLECMDF_LATCHED;
2660 break;
2661 }
2662 case FCW_MENU:
2664 break;
2665 case FCW_ADDRESSBAR:
2667 break;
2668 default:
2669 hr = E_NOTIMPL;
2670 }
2671 if (pfShown)
2672 {
2673 *pfShown = shown;
2674 return hr;
2675 }
2676 return SUCCEEDED(hr) ? (shown ? S_OK : S_FALSE) : hr;
2677}
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:896
#define ITID_ADDRESSBANDSHOWN
Definition: undocshell.h:894

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

◆ IsInternetToolbarBandShown()

HRESULT CShellBrowser::IsInternetToolbarBandShown ( UINT  ITId)

Definition at line 2679 of file shellbrowser.cpp.

2680{
2681 OLECMD cmd = { ITId };
2683 CGID_PrivCITCommands, 1, &cmd, NULL);
2684 return SUCCEEDED(hr) ? (cmd.cmdf & OLECMDF_LATCHED) ? S_OK : S_FALSE : hr;
2685}
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 3652 of file shellbrowser.cpp.

3653{
3654 CComPtr<IPersistHistory> viewPersistHistory;
3655 CComPtr<IOleObject> viewHistoryObject;
3656 persistState oldState;
3657 ULONG numRead;
3658 LPITEMIDLIST pidl;
3659 HRESULT hResult;
3660
3661 hResult = pStream->Read(&oldState, sizeof(oldState), &numRead);
3662 if (FAILED_UNEXPECTEDLY(hResult))
3663 return hResult;
3664 if (numRead != sizeof(oldState) || oldState.dwSize != sizeof(oldState))
3665 return E_FAIL;
3666 if (oldState.browseType != 2)
3667 return E_FAIL;
3668 pidl = static_cast<LPITEMIDLIST>(CoTaskMemAlloc(oldState.pidlSize));
3669 if (pidl == NULL)
3670 return E_OUTOFMEMORY;
3671 hResult = pStream->Read(pidl, oldState.pidlSize, &numRead);
3672 if (FAILED_UNEXPECTEDLY(hResult))
3673 {
3674 ILFree(pidl);
3675 return hResult;
3676 }
3677 if (numRead != oldState.pidlSize)
3678 {
3679 ILFree(pidl);
3680 return E_FAIL;
3681 }
3682 hResult = CoCreateInstance(oldState.persistClass, NULL, CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER,
3683 IID_PPV_ARG(IOleObject, &viewHistoryObject));
3684 fHistoryObject = viewHistoryObject;
3685 fHistoryStream = pStream;
3686 fHistoryBindContext = pbc;
3687 hResult = BrowseToPIDL(pidl, BTP_DONT_UPDATE_HISTORY);
3691 ILFree(pidl);
3692 if (FAILED_UNEXPECTEDLY(hResult))
3693 return hResult;
3694 return S_OK;
3695}
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 3642 of file shellbrowser.cpp.

3643{
3644 return E_NOTIMPL;
3645}

◆ Navigate()

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

Definition at line 3213 of file shellbrowser.cpp.

3215{
3217 HRESULT hResult;
3218 CComPtr<IShellFolder> pDesktop;
3219
3220 hResult = SHGetDesktopFolder(&pDesktop);
3221 if (FAILED_UNEXPECTEDLY(hResult))
3222 return hResult;
3223 hResult = pDesktop->ParseDisplayName(NULL, NULL, URL, NULL, &pidl, NULL);
3224 if (FAILED_UNEXPECTEDLY(hResult))
3225 return hResult;
3226 return BrowseObject(pidl, 1);
3227}
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 3475 of file shellbrowser.cpp.

3477{
3478 LPITEMIDLIST pidl = NULL;
3479 HRESULT hResult;
3480 // called from drive combo box to navigate to a directory
3481 // Also called by search band to display shell results folder view
3482
3483 if (V_VT(URL) == VT_BSTR)
3484 {
3485 return this->Navigate(V_BSTR(URL), Flags, TargetFrameName, PostData, Headers);
3486 }
3487 if (V_VT(URL) == (VT_ARRAY | VT_UI1))
3488 {
3489 if (V_ARRAY(URL)->cDims != 1 || V_ARRAY(URL)->cbElements != 1)
3490 return E_INVALIDARG;
3491
3492 pidl = static_cast<LPITEMIDLIST>(V_ARRAY(URL)->pvData);
3493 }
3495 if (FAILED_UNEXPECTEDLY(hResult))
3496 return hResult;
3497 return S_OK;
3498}
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 2702 of file shellbrowser.cpp.

2703{
2704 return _NavigateToPidl(pidl, grfHLNF, 0);
2705}
STDMETHOD() _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) override

◆ NotifyRedirect()

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

Definition at line 2717 of file shellbrowser.cpp.

2718{
2719 return E_NOTIMPL;
2720}

◆ Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::Offline ( int  iCmd)
override

Implements IBrowserService2.

Definition at line 2926 of file shellbrowser.cpp.

2927{
2928 return E_NOTIMPL;
2929}

◆ OnAboutReactOS()

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

Definition at line 3938 of file shellbrowser.cpp.

3939{
3940 ShellAbout(m_hWnd, _T("ReactOS"), NULL, NULL);
3941 return 0;
3942}
#define ShellAbout
Definition: shellapi.h:732

◆ OnAddToFavorites()

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

Definition at line 3998 of file shellbrowser.cpp.

3999{
4001 LPCITEMIDLIST pidlLast;
4004 return hr;
4005
4006 STRRET strret;
4007 hr = pParent->GetDisplayNameOf(pidlLast, SHGDN_FORPARSING, &strret);
4009 return 0;
4010
4011 CComHeapPtr<WCHAR> pszURL;
4012 hr = StrRetToStrW(&strret, NULL, &pszURL);
4014 return 0;
4015
4016 AddUrlToFavorites(m_hWnd, pszURL, NULL, TRUE);
4017 return 0;
4018}
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 4183 of file shellbrowser.cpp.

4184{
4185 UINT uCmd = GET_APPCOMMAND_LPARAM(lParam), uExecCmd = 0;
4186 switch (uCmd)
4187 {
4188 case APPCOMMAND_BROWSER_BACKWARD: uExecCmd = IDM_GOTO_BACK; break;
4189 case APPCOMMAND_BROWSER_FORWARD: uExecCmd = IDM_GOTO_FORWARD; break;
4190 case APPCOMMAND_BROWSER_REFRESH: uExecCmd = IDM_VIEW_REFRESH; break;
4191 case APPCOMMAND_BROWSER_STOP: uExecCmd = FCIDM_BROWSER_STOP; break; // TODO: Handle Stop()
4192 case APPCOMMAND_BROWSER_SEARCH: uExecCmd = IDM_EXPLORERBAR_SEARCH; break;
4193 case APPCOMMAND_BROWSER_FAVORITES: uExecCmd = IDM_EXPLORERBAR_FAVORITES; break;
4194 case APPCOMMAND_BROWSER_HOME: uExecCmd = IDM_GOTO_HOMEPAGE; break;
4195 }
4196 if (uExecCmd)
4197 {
4198 SendMessage(WM_COMMAND, uExecCmd, 0);
4199 bHandled = TRUE;
4200 return TRUE;
4201 }
4202 return 0;
4203}
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:1751

◆ OnBackspace()

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

Definition at line 3976 of file shellbrowser.cpp.

3977{
3978 HRESULT hResult;
3979 if (LOBYTE(GetVersion()) < 6)
3980 hResult = NavigateToParent();
3981 else if (FAILED(hResult = GoBack()))
3982 hResult = GoForward();
3983
3984 if (FAILED(hResult))
3985 TRACE("Backspace navigation failed with hResult=%08lx\n", hResult);
3986 return 0;
3987}
#define LOBYTE(W)
Definition: jmemdos.c:487
DWORD WINAPI GetVersion()
Definition: redirtest.c:5

◆ OnCabinetStateChange()

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

Definition at line 4152 of file shellbrowser.cpp.

4153{
4155 return 0;
4156}
void RefreshCabinetState()

◆ OnClose()

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

Definition at line 3911 of file shellbrowser.cpp.

3912{
3913 return SendMessage(WM_CLOSE);
3914}
#define WM_CLOSE
Definition: winuser.h:1632

◆ OnCreate() [1/2]

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

Implements IBrowserService2.

Definition at line 2848 of file shellbrowser.cpp.

2849{
2851 return S_OK;
2852}
#define GetModuleHandle
Definition: winbase.h:3858
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 3741 of file shellbrowser.cpp.

3742{
3743 OnCreate(reinterpret_cast<LPCREATESTRUCT> (lParam));
3744 return 0;
3745}
STDMETHOD() OnCreate(struct tagCREATESTRUCTW *pcs) override

◆ OnDestroy() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnDestroy ( )
override

Implements IBrowserService2.

Definition at line 2859 of file shellbrowser.cpp.

2860{
2861 return E_NOTIMPL;
2862}

◆ OnDestroy() [2/2]

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

Definition at line 3747 of file shellbrowser.cpp.

3748{
3749 HRESULT hr;
3750 if (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_ROS_KIOSK))
3751 {
3753 put_MenuBar(VARIANT_TRUE);
3755 put_StatusBar(VARIANT_TRUE);
3756 }
3757 SaveViewState();
3758
3759 /* The current thread is about to go down so render any IDataObject that may be left in the clipboard */
3761
3762 // TODO: rip down everything
3763 {
3764 m_Destroyed = true; // Ignore browse requests from Explorer band TreeView during destruction
3765 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
3767 fCurrentShellView->DestroyViewWindow();
3768
3769 for (int i = 0; i < 3; i++)
3770 {
3773 CComPtr<IUnknown> pBarSite;
3774
3775 if (fClientBars[i].clientBar == NULL)
3776 continue;
3777
3778 hr = fClientBars[i].clientBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &pdw));
3780 continue;
3781
3782 /* We should destroy our basebarsite too */
3783 hr = pdw->QueryInterface(IID_PPV_ARG(IDeskBar, &bar));
3784 if (SUCCEEDED(hr))
3785 {
3786 hr = bar->GetClient(&pBarSite);
3787 if (SUCCEEDED(hr) && pBarSite)
3788 {
3790 hr = pBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &pClient));
3791 if (SUCCEEDED(hr))
3792 pClient->SetDeskBarSite(NULL);
3793 }
3794 }
3795 pdw->CloseDW(0);
3796
3797 pBarSite = NULL;
3798 pdw = NULL;
3799 bar = NULL;
3800 ReleaseCComPtrExpectZero(fClientBars[i].clientBar);
3801 }
3802 ReleaseCComPtrExpectZero(fCurrentShellView);
3803 ReleaseCComPtrExpectZero(fTravelLog);
3804
3810 }
3811 PostQuitMessage(0);
3812 return 0;
3813}
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 3932 of file shellbrowser.cpp.

3933{
3935 return 0;
3936}
#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 4248 of file shellbrowser.cpp.

4249{
4251 return 0;
4252}
UINT WPARAM wParam
#define BWM_ONDISPLAYCHANGEDELAYED
#define PostMessage
Definition: winuser.h:5852

◆ OnDisplayChangeDelayed()

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

Definition at line 4254 of file shellbrowser.cpp.

4255{
4256 if (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_ROS_KIOSK)) // Resize fullscreen on resolution change (CORE-20072)
4257 {
4261 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4262 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4264 }
4265 return 0;
4266}
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:3796
#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 4111 of file shellbrowser.cpp.

4112{
4113 // TODO: HACK ! use the proper mechanism to show the band (i.e. pass the BSTR to basebar)
4115 {
4116 MenuBandInfo *mbi;
4118 if (!mbi)
4119 return 0;
4120 ShowBand(mbi->barGuid, mbi->fVertical);
4121 bHandled = TRUE;
4122 return 1;
4123 }
4124 switch (wID)
4125 {
4127 ShowBand(CLSID_FileSearchBand, true);
4128 break;
4130 ShowBand(CLSID_ExplorerBand, true);
4131 break;
4133 ShowBand(CLSID_SH_HistBand, true);
4134 break;
4136 ShowBand(CLSID_SH_FavBand, true);
4137 break;
4138 default:
4139 WARN("Unknown id %x\n", wID);
4140 }
4141 bHandled = TRUE;
4142 return 1;
4143}
#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 3916 of file shellbrowser.cpp.

3917{
3918 HRESULT hResult = DoFolderOptions();
3919 if (FAILED(hResult))
3920 TRACE("DoFolderOptions failed with hResult=%08lx\n", hResult);
3921 return 0;
3922}

◆ OnFrameWindowActivateBS()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnFrameWindowActivateBS ( BOOL  fActive)
override

Implements IBrowserService2.

Definition at line 2874 of file shellbrowser.cpp.

2875{
2876 return E_NOTIMPL;
2877}

◆ OnGetSettingsPtr()

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

Definition at line 4173 of file shellbrowser.cpp.

4174{
4175 if (!lParam)
4177
4179 return NO_ERROR;
4180}
#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 3944 of file shellbrowser.cpp.

3945{
3946 HRESULT hResult = GoBack();
3947 if (FAILED(hResult))
3948 TRACE("GoBack failed with hResult=%08lx\n", hResult);
3949 return 0;
3950}

◆ OnGoForward()

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

Definition at line 3952 of file shellbrowser.cpp.

3953{
3954 HRESULT hResult = GoForward();
3955 if (FAILED(hResult))
3956 TRACE("GoForward failed with hResult=%08lx\n", hResult);
3957 return 0;
3958}

◆ OnGoHome()

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

Definition at line 3968 of file shellbrowser.cpp.

3969{
3970 HRESULT hResult = GoHome();
3971 if (FAILED(hResult))
3972 TRACE("GoHome failed with hResult=%08lx\n", hResult);
3973 return 0;
3974}
STDMETHOD() GoHome() override

◆ OnGoTravel()

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

Definition at line 4106 of file shellbrowser.cpp.

4107{
4108 return 0;
4109}

◆ OnGoUpLevel()

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

Definition at line 3960 of file shellbrowser.cpp.

3961{
3962 HRESULT hResult = NavigateToParent();
3963 if (FAILED(hResult))
3964 TRACE("NavigateToParent failed with hResult=%08lx\n", hResult);
3965 return 0;
3966}

◆ OnHttpEquiv()

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

Implements IBrowserService.

Definition at line 2806 of file shellbrowser.cpp.

2808{
2809 return E_NOTIMPL;
2810}

◆ OnInitMenuPopup()

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

Definition at line 3844 of file shellbrowser.cpp.

3845{
3846 HMENU theMenu;
3847 LPARAM menuIndex = lParam;
3848
3849 theMenu = reinterpret_cast<HMENU>(wParam);
3850
3852 {
3853 menuIndex = 0;
3854 }
3855 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_EDIT))
3856 {
3857 menuIndex = 1;
3858 }
3859 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW))
3860 {
3861 UpdateViewMenu(theMenu);
3862 menuIndex = 2;
3863 }
3865 {
3866 menuIndex = 3;
3867 }
3868 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_TOOLS))
3869 {
3870 // FIXME: Remove once implemented
3873 menuIndex = 4;
3874 }
3875 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_HELP))
3876 {
3877 menuIndex = 5;
3878 }
3879
3880 LRESULT ret = RelayMsgToShellView(uMsg, wParam, menuIndex, bHandled);
3881
3882 return ret;
3883}
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 3924 of file shellbrowser.cpp.

3925{
3926#ifndef __REACTOS__
3928#endif /* __REACTOS__ */
3929 return 0;
3930}
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 4020 of file shellbrowser.cpp.

4021{
4022 CComPtr<IShellFolder> psfDesktop;
4023 LPITEMIDLIST pidlFavs;
4024 HRESULT hr = GetFavsLocation(m_hWnd, &pidlFavs);
4026 return 0;
4027
4028 hr = SHGetDesktopFolder(&psfDesktop);
4030 {
4031 ILFree(pidlFavs);
4032 return 0;
4033 }
4034
4035 hr = SHInvokeDefaultCommand(m_hWnd, psfDesktop, pidlFavs);
4036 ILFree(pidlFavs);
4038 return 0;
4039
4040 return 0;
4041}
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 4099 of file shellbrowser.cpp.

4100{
4102 fCurrentShellView->Refresh();
4103 return 0;
4104}

◆ OnSearch()

HRESULT CShellBrowser::OnSearch ( )

Definition at line 1958 of file shellbrowser.cpp.

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

◆ OnSetFocus() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSetFocus ( )
override

Implements IBrowserService2.

Definition at line 2869 of file shellbrowser.cpp.

2870{
2871 return E_NOTIMPL;
2872}

◆ OnSetFocus() [2/2]

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

Definition at line 3885 of file shellbrowser.cpp.

3886{
3888 return 0;
3889}
HWND SetFocus()
Definition: atlwin.h:1198

◆ OnSettingChange()

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

Definition at line 3898 of file shellbrowser.cpp.

3899{
3902 return 0;
3903}
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 4158 of file shellbrowser.cpp.

4159{
4160 /* Refresh child windows */
4162
4163 /* Refresh status bar */
4164 if (fStatusBar)
4165 {
4168 }
4169
4170 return 0;
4171}
_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 3815 of file shellbrowser.cpp.

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

◆ OnSize() [2/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSize ( WPARAM  wParam)
override

Implements IBrowserService2.

Definition at line 2843 of file shellbrowser.cpp.

2844{
2845 return E_NOTIMPL;
2846}

◆ OnSysColorChange()

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

Definition at line 3905 of file shellbrowser.cpp.

3906{
3908 return 0;
3909}

◆ OnToggleAddressBandVisible()

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

Definition at line 4067 of file shellbrowser.cpp.

4068{
4069 HRESULT hResult;
4070 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4071 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
4072 return 0;
4073}

◆ OnToggleFullscreen()

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

Definition at line 4205 of file shellbrowser.cpp.

4206{
4207 const UINT OrgUiSetAuto = m_BrowserSvcFlags & BSF_UISETBYAUTOMATION;
4208 const BOOL fCurrentlyFullscreen = (m_BrowserSvcFlags & BSF_THEATERMODE);
4209 const BOOL fEnter = wID ? !fCurrentlyFullscreen : wNotifyCode;
4211 if (fEnter)
4212 {
4213 VARIANT_BOOL varb;
4214 m_NonFullscreenState = (m_BrowserSvcFlags & BSF_RESIZABLE) ? FSF_RESIZE : 0;
4215 m_NonFullscreenState |= (FAILED(get_MenuBar(&varb)) || varb) ? FSF_MBAR : 0;
4216 m_NonFullscreenState |= (FAILED(get_StatusBar(&varb)) || varb) ? FSF_SBAR : 0;
4218 SetFlags(BSF_THEATERMODE, BSF_THEATERMODE);
4219 put_MenuBar(VARIANT_FALSE);
4220 put_StatusBar(VARIANT_FALSE);
4226 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4227 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4229 }
4230 else
4231 {
4232 SetFlags(0, BSF_THEATERMODE);
4233 put_MenuBar((m_NonFullscreenState & FSF_MBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4234 put_StatusBar((m_NonFullscreenState & FSF_SBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4237 SHSetWindowBits(hWnd, GWL_STYLE, styles | WS_THICKFRAME, styles);
4242 }
4243 SetFlags(OrgUiSetAuto, BSF_UISETBYAUTOMATION);
4245 return 0;
4246}
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 4075 of file shellbrowser.cpp.

4076{
4077 HRESULT hResult;
4078 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4079 CGID_PrivCITCommands, ITID_LINKSBANDSHOWN, 0, NULL, NULL);
4080 return 0;
4081}
#define ITID_LINKSBANDSHOWN
Definition: undocshell.h:895

◆ OnToggleStatusBarVisible()

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

Definition at line 4043 of file shellbrowser.cpp.

4044{
4046 m_settings.Save();
4048 return 0;
4049}
#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 4083 of file shellbrowser.cpp.

4084{
4085 HRESULT hResult;
4086 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4087 CGID_PrivCITCommands, ITID_TEXTLABELS, 0, NULL, NULL);
4088 return 0;
4089}
#define ITID_TEXTLABELS
Definition: undocshell.h:892

◆ OnToggleToolbarBandVisible()

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

Definition at line 4059 of file shellbrowser.cpp.

4060{
4061 HRESULT hResult;
4062 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4063 CGID_PrivCITCommands, ITID_TOOLBARBANDSHOWN, 0, NULL, NULL);
4064 return 0;
4065}
#define ITID_TOOLBARBANDSHOWN
Definition: undocshell.h:893

◆ OnToggleToolbarLock()

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

Definition at line 4051 of file shellbrowser.cpp.

4052{
4053 HRESULT hResult;
4054 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4055 CGID_PrivCITCommands, ITID_TOOLBARLOCKED, 0, NULL, NULL);
4056 return 0;
4057}
#define ITID_TOOLBARLOCKED
Definition: undocshell.h:899

◆ OnToolbarCustomize()

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

Definition at line 4091 of file shellbrowser.cpp.

4092{
4093 HRESULT hResult;
4094 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4095 CGID_PrivCITCommands, ITID_CUSTOMIZEENABLED, 0, NULL, NULL);
4096 return 0;
4097}
#define ITID_CUSTOMIZEENABLED
Definition: undocshell.h:898

◆ OnViewWindowActive()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnViewWindowActive ( IShellView ppshv)
override

Implements IShellBrowser.

Definition at line 2478 of file shellbrowser.cpp.

2479{
2480 return E_NOTIMPL;
2481}

◆ 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 3603 of file shellbrowser.cpp.

3604{
3605 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3606 HRESULT hr = ShowControlWindow(FCW_ADDRESSBAR, Value != VARIANT_FALSE);
3608 return hr;
3609}
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 3466 of file shellbrowser.cpp.

3467{
3468 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3469 SetFlags(bFullScreen ? BSF_ROS_KIOSK : 0, BSF_ROS_KIOSK);
3470 put_TheaterMode(bFullScreen);
3472 return S_OK;
3473}
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 3321 of file shellbrowser.cpp.

3322{
3323 return E_NOTIMPL;
3324}

◆ put_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Left ( long  Left)
override

Definition at line 3291 of file shellbrowser.cpp.

3292{
3293 return E_NOTIMPL;
3294}

◆ put_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_MenuBar ( VARIANT_BOOL  Value)
override

Definition at line 3452 of file shellbrowser.cpp.

3453{
3454 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3455 HRESULT hr = ShowControlWindow(FCW_MENU, Value != VARIANT_FALSE);
3457 return hr;
3458}
#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 3543 of file shellbrowser.cpp.

3544{
3545 return E_NOTIMPL;
3546}

◆ put_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsBrowser ( VARIANT_BOOL  bRegister)
override

Definition at line 3564 of file shellbrowser.cpp.

3565{
3566 if (!bRegister)
3567 return E_UNEXPECTED;
3569 return RegisterWindow(TRUE, SWC_3RDPARTY);
3570}
STDMETHOD() RegisterWindow(BOOL fForceRegister, int swc) override

◆ put_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsDropTarget ( VARIANT_BOOL  bRegister)
override

Definition at line 3578 of file shellbrowser.cpp.

3579{
3580 SetFlags(bRegister ? BSF_REGISTERASDROPTARGET : 0, BSF_REGISTERASDROPTARGET);
3581 return S_OK;
3582}

◆ put_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Resizable ( VARIANT_BOOL  Value)
override

Definition at line 3617 of file shellbrowser.cpp.

3618{
3619 SetFlags(Value ? (BSF_RESIZABLE | BSF_CANMAXIMIZE) : 0, (BSF_RESIZABLE | BSF_CANMAXIMIZE));
3620 return S_OK;
3621}

◆ put_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Silent ( VARIANT_BOOL  bSilent)
override

Definition at line 3553 of file shellbrowser.cpp.

3554{
3555 return E_NOTIMPL;
3556}

◆ put_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusBar ( VARIANT_BOOL  Value)
override

Definition at line 3410 of file shellbrowser.cpp.

3411{
3412 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3413 HRESULT hr = ShowControlWindow(FCW_STATUS, Value != VARIANT_FALSE);
3415 return hr;
3416}
#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 3423 of file shellbrowser.cpp.

3424{
3425 SendControlMsg(FCW_STATUS, SB_SETTEXTW, 0, (LPARAM)StatusText, NULL);
3426 return S_OK;
3427}
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 3590 of file shellbrowser.cpp.

3591{
3592 BOOL handled;
3593 OnToggleFullscreen(bRegister, 0, NULL, handled);
3594 return S_OK;
3595}
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 3437 of file shellbrowser.cpp.

3438{
3439 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3440 ShowControlWindow(FCW_INTERNETBAR, Value != VARIANT_FALSE && Value != FCW_TOOLBAR);
3441 ShowControlWindow(FCW_TOOLBAR, Value == FCW_TOOLBAR);
3443 return S_OK;
3444}
#define DISPID_ONTOOLBAR
Definition: webchild.h:57

◆ put_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Top ( long  Top)
override

Definition at line 3301 of file shellbrowser.cpp.

3302{
3303 return E_NOTIMPL;
3304}

◆ put_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Visible ( VARIANT_BOOL  Value)
override

Definition at line 3392 of file shellbrowser.cpp.

3393{
3395 {
3397 if (Value)
3400 }
3401 return S_OK;
3402}
#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 3311 of file shellbrowser.cpp.

3312{
3313 return E_NOTIMPL;
3314}

◆ PutProperty()

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

Definition at line 3354 of file shellbrowser.cpp.

3355{
3356 return E_NOTIMPL;
3357}

◆ QueryActiveShellView()

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

Implements IShellBrowser.

Definition at line 2465 of file shellbrowser.cpp.

2466{
2467 if (ppshv == NULL)
2468 return E_POINTER;
2469 *ppshv = fCurrentShellView;
2470 if (fCurrentShellView.p != NULL)
2471 {
2473 return S_OK;
2474 }
2475 return E_FAIL;
2476}

◆ QueryService()

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

Implements IServiceProvider.

Definition at line 2510 of file shellbrowser.cpp.

2511{
2512 // view does a query for SID_STopLevelBrowser, IID_IShellBrowserService
2513 // the returned interface has a method GetPropertyBag on it
2514 if (IsEqualIID(guidService, SID_STopLevelBrowser))
2515 return this->QueryInterface(riid, ppvObject);
2516 if (IsEqualIID(guidService, SID_SShellBrowser))
2517 return this->QueryInterface(riid, ppvObject);
2518 if (IsEqualIID(guidService, SID_ITargetFrame2))
2519 return this->QueryInterface(riid, ppvObject);
2520 if (IsEqualIID(guidService, SID_IWebBrowserApp)) // without this, the internet toolbar won't reflect notifications
2521 return this->QueryInterface(riid, ppvObject);
2522 if (IsEqualIID(guidService, SID_SProxyBrowser))
2523 return this->QueryInterface(riid, ppvObject);
2524 if (IsEqualIID(guidService, SID_IExplorerToolbar) && fClientBars[BIInternetToolbar].clientBar.p)
2525 return fClientBars[BIInternetToolbar].clientBar->QueryInterface(riid, ppvObject);
2526 if (IsEqualIID(riid, IID_IShellBrowser))
2527 return this->QueryInterface(riid, ppvObject);
2528 return E_NOINTERFACE;
2529}
#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 2051 of file shellbrowser.cpp.

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

3501{
3502 OLECMD cmd = { (ULONG)cmdID, (DWORD)(*pcmdf) };
3503 HRESULT hr = QueryStatus(NULL, 1, &cmd, NULL);
3504 *pcmdf = (OLECMDF)cmd.cmdf;
3505 return hr;
3506}

◆ Quit()

HRESULT STDMETHODCALLTYPE CShellBrowser::Quit ( )
override

Definition at line 3343 of file shellbrowser.cpp.

3344{
3346 return S_OK;
3347}
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

◆ Refresh()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh ( )
override

Definition at line 3229 of file shellbrowser.cpp.

3230{
3231 VARIANT level;
3232
3233 V_VT(&level) = VT_I4;
3234 V_I4(&level) = 4;
3235 return Refresh2(&level);
3236}
STDMETHOD() Refresh2(VARIANT *Level) override
GLint level
Definition: gl.h:1546

◆ Refresh2()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh2 ( VARIANT Level)
override

Definition at line 3238 of file shellbrowser.cpp.

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

Referenced by Refresh().

◆ RefreshCabinetState()

void CShellBrowser::RefreshCabinetState ( )

Definition at line 4273 of file shellbrowser.cpp.

4274{
4277}

Referenced by OnCabinetStateChange(), and OnSettingChange().

◆ RegisterWindow()

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

Implements IBrowserService.

Definition at line 2817 of file shellbrowser.cpp.

2818{
2819 return E_NOTIMPL;
2820}

Referenced by put_RegisterAsBrowser().

◆ RelayCommands()

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

Definition at line 4145 of file shellbrowser.cpp.

4146{
4149 return 0;
4150}
#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 3891 of file shellbrowser.cpp.

3892{
3895 return 0;
3896}

Referenced by OnInitMenuPopup().

◆ ReleaseShellView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ReleaseShellView ( )
override

Implements IBrowserService2.

Definition at line 2879 of file shellbrowser.cpp.

2880{
2881 return E_NOTIMPL;
2882}

◆ RemoveMenusSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::RemoveMenusSB ( HMENU  hmenuShared)
override

Implements IShellBrowser.

Definition at line 2336 of file shellbrowser.cpp.

2337{
2338 if (hmenuShared == fCurrentMenuBar)
2339 {
2340 //DestroyMenu(fCurrentMenuBar);
2342 }
2343 return S_OK;
2344}
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 ::SetWindowPos(fCurrentShellViewWindow, NULL, clientRect.left, clientRect.top,
1621 clientRect.right - clientRect.left,
1622 clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1623}
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 2031 of file shellbrowser.cpp.

2032{
2033 return S_OK;
2034}

◆ SaveHistory()

HRESULT STDMETHODCALLTYPE CShellBrowser::SaveHistory ( IStream pStream)
override

Implements IPersistHistory.

Definition at line 3697 of file shellbrowser.cpp.

3698{
3699 CComPtr<IPersistHistory> viewPersistHistory;
3700 persistState newState;
3701 HRESULT hResult;
3702
3703 hResult = fCurrentShellView->GetItemObject(
3704 SVGIO_BACKGROUND, IID_PPV_ARG(IPersistHistory, &viewPersistHistory));
3705 memset(&newState, 0, sizeof(newState));
3706 newState.dwSize = sizeof(newState);
3707 newState.browseType = 2;
3708 newState.browserIndex = GetBrowserIndex();
3709 if (viewPersistHistory.p != NULL)
3710 {
3711 hResult = viewPersistHistory->GetClassID(&newState.persistClass);
3712 if (FAILED_UNEXPECTEDLY(hResult))
3713 return hResult;
3714 }
3716 hResult = pStream->Write(&newState, sizeof(newState), NULL);
3717 if (FAILED_UNEXPECTEDLY(hResult))
3718 return hResult;
3719 hResult = pStream->Write(fCurrentDirectoryPIDL, newState.pidlSize, NULL);
3720 if (FAILED_UNEXPECTEDLY(hResult))
3721 return hResult;
3722 if (viewPersistHistory.p != NULL)
3723 {
3724 hResult = viewPersistHistory->SaveHistory(pStream);
3725 if (FAILED_UNEXPECTEDLY(hResult))
3726 return hResult;
3727 }
3728 return S_OK;
3729}
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 4291 of file shellbrowser.cpp.

4292{
4293 if (!gCabinetState.fSaveLocalView || (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_UISETBYAUTOMATION)))
4294 return;
4295#if 0 // If CDesktopBrowser aggregates us, skip saving
4297 if (fCurrentShellView && SUCCEEDED(fCurrentShellView->GetCurrentInfo(&fs)) && (fs.fFlags & FWF_DESKTOP))
4298 return;
4299#endif
4300
4302 CComPtr<IStream> pITBarStream;
4303 if (!fClientBars[BIInternetToolbar].clientBar.p)
4304 return;
4306 if (FAILED(hr))
4307 return;
4309 return;
4310 pPSI->Save(pITBarStream, TRUE);
4311}
#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 2442 of file shellbrowser.cpp.

2444{
2445 LPARAM result;
2446
2447 if (pret != NULL)
2448 *pret = 0;
2449 switch (id)
2450 {
2451 case FCW_TOOLBAR:
2453 if (pret != NULL)
2454 *pret = result;
2455 break;
2456 case FCW_STATUS:
2458 if (pret != NULL)
2459 *pret = result;
2460 break;
2461 }
2462 return S_OK;
2463}
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 3088 of file shellbrowser.cpp.

3089{
3090 return E_NOTIMPL;
3091}

◆ SetActivateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetActivateState ( UINT  u)
override

Implements IBrowserService2.

Definition at line 2936 of file shellbrowser.cpp.

2937{
2938 return E_NOTIMPL;
2939}

◆ SetAsDefFolderSettings()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAsDefFolderSettings ( )
override

Implements IBrowserService2.

Definition at line 2827 of file shellbrowser.cpp.

2828{
2829 HRESULT hr = E_FAIL;
2831 {
2834 }
2835 return hr;
2836}
#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:78

◆ SetBorderSpaceDW()

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

Definition at line 2036 of file shellbrowser.cpp.

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

◆ SetFlags()

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

Implements IBrowserService.

Definition at line 2732 of file shellbrowser.cpp.

2733{
2734 m_BrowserSvcFlags = (m_BrowserSvcFlags & ~dwFlagMask) | (dwFlags & dwFlagMask);
2735 return S_OK;
2736}
_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 2791 of file shellbrowser.cpp.

2792{
2793 return E_NOTIMPL;
2794}

◆ SetMenuSB()

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

Implements IShellBrowser.

Definition at line 2306 of file shellbrowser.cpp.

2307{
2308 CComPtr<IShellMenu> shellMenu;
2309 HRESULT hResult;
2310
2311 if (hmenuShared && IsMenu(hmenuShared) == FALSE)
2312 return E_FAIL;
2313 hResult = GetMenuBand(IID_PPV_ARG(IShellMenu, &shellMenu));
2314 if (FAILED_UNEXPECTEDLY(hResult))
2315 return hResult;
2316
2317 if (!hmenuShared)
2318 {
2319 hmenuShared = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2320 }
2321 // FIXME: Figure out the proper way to do this.
2322 HMENU hMenuFavs = GetSubMenu(hmenuShared, 3);
2323 if (hMenuFavs)
2324 {
2326 }
2327
2328 hResult = shellMenu->SetMenu(hmenuShared, m_hWnd, SMSET_DONTOWN);
2329 if (FAILED_UNEXPECTEDLY(hResult))
2330 return hResult;
2331 fCurrentMenuBar = hmenuShared;
2333 return S_OK;
2334}
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 2707 of file shellbrowser.cpp.

2708{
2709 return E_NOTIMPL;
2710}

◆ SetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetPositionCookie ( DWORD  dwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3731 of file shellbrowser.cpp.

3732{
3733 return E_NOTIMPL;
3734}

◆ SetReferrer()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetReferrer ( LPCITEMIDLIST  pidl)
override

Definition at line 2755 of file shellbrowser.cpp.

2756{
2757 return E_NOTIMPL;
2758}

◆ SetStatusTextSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetStatusTextSB ( LPCOLESTR  pszStatusText)
override

Implements IShellBrowser.

Definition at line 2346 of file shellbrowser.cpp.

2347{
2348 //
2349 if (pszStatusText)
2350 {
2351 ::SetWindowText(fStatusBar, pszStatusText);
2352 }
2353 else
2354 {
2355
2356 }
2357 return S_OK;
2358}
#define SetWindowText
Definition: winuser.h:5877

◆ SetTitle()

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

Implements IBrowserService.

Definition at line 2587 of file shellbrowser.cpp.

2588{
2589 return E_NOTIMPL;
2590}

◆ SetToolbarItems()

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

Definition at line 2483 of file shellbrowser.cpp.

2484{
2485 return E_NOTIMPL;
2486}

◆ SetTopBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetTopBrowser ( )
override

Implements IBrowserService2.

Definition at line 2920 of file shellbrowser.cpp.

2921{
2922 SetFlags(BSF_TOPBROWSER, BSF_TOPBROWSER);
2923 return S_OK;
2924}

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 3519 of file shellbrowser.cpp.

3520{
3521 CLSID classID;
3522 bool vertical;
3523
3524 // called to show search bar
3525 if (V_VT(pvaClsid) != VT_BSTR)
3526 return E_INVALIDARG;
3527 CLSIDFromString(V_BSTR(pvaClsid), &classID);
3528 // TODO: properly compute the value of vertical
3529 vertical = true;
3530 return ShowBand(classID, vertical);
3531}
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 2622 of file shellbrowser.cpp.

2623{
2624 BOOL shown;
2625 if (FAILED(IsControlWindowShown(id, &shown)))
2626 return E_NOTIMPL;
2627 else if (!shown == !fShow) // Negated for true boolean comparison
2628 return S_OK;
2629 else switch (id)
2630 {
2631 case FCW_STATUS:
2632 OnToggleStatusBarVisible(0, 0, NULL, shown);
2633 return S_OK;
2634 case FCW_TREE:
2635 return Exec(&CGID_Explorer, SBCMDID_EXPLORERBARFOLDERS, 0, NULL, NULL);
2636 case FCW_MENU:
2638 CGID_PrivCITCommands, ITID_MENUBANDSHOWN, 0, NULL, NULL);
2639 case FCW_ADDRESSBAR:
2641 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
2642 }
2643 return E_NOTIMPL;
2644}
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 3249 of file shellbrowser.cpp.

3250{
3251 return E_NOTIMPL;
3252}

◆ TranslateAcceleratorSB()

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

Implements IShellBrowser.

Definition at line 2365 of file shellbrowser.cpp.

2366{
2368 return S_FALSE;
2369 return S_OK;
2370}
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)

◆ UpdateBackForwardState()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateBackForwardState ( )
override

Implements IBrowserService.

Definition at line 2727 of file shellbrowser.cpp.

2728{
2729 return E_NOTIMPL;
2730}

◆ UpdateForwardBackState()

HRESULT CShellBrowser::UpdateForwardBackState ( )

Definition at line 1707 of file shellbrowser.cpp.

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

Referenced by BrowseToPath().

◆ UpdateGotoMenu()

void CShellBrowser::UpdateGotoMenu ( HMENU  theMenu)

Definition at line 1744 of file shellbrowser.cpp.

1745{
1746 CComPtr<ITravelLog> travelLog;
1747 CComPtr<ITravelEntry> unusedEntry;
1748 int position;
1749 MENUITEMINFO menuItemInfo;
1750 HRESULT hResult;
1751
1753
1754 position = GetMenuItemCount(theMenu);
1755 hResult = GetTravelLog(&travelLog);
1756 if (FAILED_UNEXPECTEDLY(hResult))
1757 return;
1758
1759 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1760 TLOG_BACK,
1761 &unusedEntry);
1762
1763 if (SUCCEEDED(hResult))
1764 {
1766 unusedEntry.Release();
1767 }
1768 else
1770
1771 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1772 TLOG_FORE,
1773 &unusedEntry);
1774
1775 if (SUCCEEDED(hResult))
1776 {
1778 unusedEntry.Release();
1779 }
1780 else
1782
1783 SHEnableMenuItem(theMenu,
1786
1787 hResult = travelLog->InsertMenuEntries(static_cast<IDropTarget *>(this), theMenu, position,
1789 if (SUCCEEDED(hResult))
1790 {
1791 menuItemInfo.cbSize = sizeof(menuItemInfo);
1792 menuItemInfo.fMask = MIIM_TYPE | MIIM_ID;
1793 menuItemInfo.fType = MF_SEPARATOR;
1794 menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP;
1795 InsertMenuItem(theMenu, position, TRUE, &menuItemInfo);
1796 }
1797}
#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:5824
#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 2941 of file shellbrowser.cpp.

2942{
2943 return E_NOTIMPL;
2944}

◆ UpdateUpState()

HRESULT CShellBrowser::UpdateUpState ( )

Definition at line 1737 of file shellbrowser.cpp.

1738{
1739 bool canGoUp = !_ILIsDesktop(fCurrentDirectoryPIDL);
1740 FireCommandStateChange(canGoUp, 3);
1741 return S_OK;
1742}

Referenced by BrowseToPath().

◆ UpdateViewMenu()

void CShellBrowser::UpdateViewMenu ( HMENU  theMenu)

Definition at line 1799 of file shellbrowser.cpp.

1800{
1801 CComPtr<ITravelLog> travelLog;
1802 HMENU gotoMenu;
1803 OLECMD commandList[5];
1804 HMENU toolbarMenuBar;
1805 HMENU toolbarMenu;
1806 MENUITEMINFO menuItemInfo;
1807 HRESULT hResult;
1808
1809 gotoMenu = SHGetMenuFromID(theMenu, FCIDM_MENU_EXPLORE);
1810 if (gotoMenu != NULL)
1811 UpdateGotoMenu(gotoMenu);
1812
1813 commandList[0].cmdID = ITID_TOOLBARBANDSHOWN;
1814 commandList[1].cmdID = ITID_ADDRESSBANDSHOWN;
1815 commandList[2].cmdID = ITID_LINKSBANDSHOWN;
1816 commandList[3].cmdID = ITID_TOOLBARLOCKED;
1817 commandList[4].cmdID = ITID_CUSTOMIZEENABLED;
1818
1820 CGID_PrivCITCommands, 5, commandList, NULL);
1821 if (FAILED_UNEXPECTEDLY(hResult))
1823 else
1824 {
1825 menuItemInfo.cbSize = sizeof(menuItemInfo);
1826 menuItemInfo.fMask = MIIM_SUBMENU;
1827 GetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo);
1828 DestroyMenu(menuItemInfo.hSubMenu);
1829
1830 toolbarMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU));
1831 toolbarMenu = GetSubMenu(toolbarMenuBar, 0);
1832 RemoveMenu(toolbarMenuBar, 0, MF_BYPOSITION);
1833 DestroyMenu(toolbarMenuBar);
1834
1835 // TODO: Implement
1836 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf & OLECMDF_ENABLED);
1837 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_ENABLED);
1838 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_ENABLED);
1839 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_CUSTOMIZE, commandList[4].cmdf & OLECMDF_ENABLED);
1840
1841 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf & OLECMDF_LATCHED);
1842 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_LATCHED);
1843 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_LATCHED);
1844 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LOCKTOOLBARS, commandList[3].cmdf & OLECMDF_LATCHED);
1845 if ((commandList[4].cmdf & OLECMDF_ENABLED) == 0)
1849
1850 menuItemInfo.cbSize = sizeof(menuItemInfo);
1851 menuItemInfo.fMask = MIIM_SUBMENU;
1852 menuItemInfo.hSubMenu = toolbarMenu;
1853 SetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo);
1854 }
1856
1857 // Check the menu items for Explorer bar
1858 BOOL bSearchBand = (IsEqualCLSID(CLSID_SH_SearchBand, fCurrentVertBar) ||
1859 IsEqualCLSID(CLSID_SearchBand, fCurrentVertBar) ||
1860 IsEqualCLSID(CLSID_IE_SearchBand, fCurrentVertBar) ||
1861 IsEqualCLSID(CLSID_FileSearchBand, fCurrentVertBar));
1862 BOOL bHistory = IsEqualCLSID(CLSID_SH_HistBand, fCurrentVertBar);
1863 BOOL bFavorites = IsEqualCLSID(CLSID_SH_FavBand, fCurrentVertBar);
1864 BOOL bFolders = IsEqualCLSID(CLSID_ExplorerBand, fCurrentVertBar);
1865 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_SEARCH, bSearchBand);
1866 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_HISTORY, bHistory);
1867 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_FAVORITES, bFavorites);
1868 SHCheckMenuItem(theMenu, IDM_EXPLORERBAR_FOLDERS, bFolders);
1869}
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:5870
#define MIIM_SUBMENU
Definition: winuser.h:734
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define GetMenuItemInfo
Definition: winuser.h:5808

Referenced by OnInitMenuPopup().

◆ UpdateWindowList()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateWindowList ( )
override

Implements IBrowserService.

Definition at line 2722 of file shellbrowser.cpp.

2723{
2724 return E_NOTIMPL;
2725}

◆ UpdateWindowTitle()

void CShellBrowser::UpdateWindowTitle ( )

Definition at line 4279 of file shellbrowser.cpp.

4280{
4282 SHGDNF flags = SHGDN_FORADDRESSBAR;
4283
4285 flags |= SHGDN_FORPARSING;
4286
4289}
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 3158 of file shellbrowser.cpp.

3159{
3160 return E_NOTIMPL;
3161}

◆ v_MayGetNextToolbarFocus()

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

Implements IBrowserService2.

Definition at line 3118 of file shellbrowser.cpp.

3120{
3121 return E_NOTIMPL;
3122}

◆ v_MayTranslateAccelerator()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayTranslateAccelerator ( MSG pmsg)
override

Implements IBrowserService2.

Definition at line 3139 of file shellbrowser.cpp.

3140{
3141 for (int i = 0; i < 3; i++)
3142 {
3143 if (IUnknown_TranslateAcceleratorIO(fClientBars[i].clientBar, pmsg) == S_OK)
3144 return S_OK;
3145 }
3146
3147 if (!fCurrentShellView)
3148 return S_FALSE;
3149
3150 return fCurrentShellView->TranslateAcceleratorW(pmsg);
3151}
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 3033 of file shellbrowser.cpp.

3034{
3035 return E_NOTIMPL;
3036}

◆ 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:1695
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2917

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: