ReactOS 0.4.16-dev-1946-g52006dd
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 OnToggleExplorerBar (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 753 of file shellbrowser.cpp.

754{
755 m_BrowserSvcFlags = BSF_RESIZABLE | BSF_CANMAXIMIZE;
756 m_Destroyed = false;
768}
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 770 of file shellbrowser.cpp.

771{
772 if (menuDsa)
774}
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 2971 of file shellbrowser.cpp.

2972{
2973 return E_NOTIMPL;
2974}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ _CancelPendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView ( )
override

Implements IBrowserService2.

Definition at line 2976 of file shellbrowser.cpp.

2977{
2978 return E_NOTIMPL;
2979}

◆ _CloseAndReleaseToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars ( BOOL  fClose)
override

Implements IBrowserService2.

Definition at line 3123 of file shellbrowser.cpp.

3124{
3125 return E_NOTIMPL;
3126}

◆ _DisableModeless()

HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless ( )
override

Implements IBrowserService2.

Definition at line 2991 of file shellbrowser.cpp.

2992{
2993 return E_NOTIMPL;
2994}

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

3023{
3024 return E_NOTIMPL;
3025}

◆ _GetBorderDWHelper()

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

Implements IBrowserService2.

Definition at line 3163 of file shellbrowser.cpp.

3164{
3165 return E_NOTIMPL;
3166}

◆ _GetEffectiveClientArea()

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

Implements IBrowserService2.

Definition at line 3083 of file shellbrowser.cpp.

3084{
3085 return E_NOTIMPL;
3086}

◆ _GetViewBorderRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 3063 of file shellbrowser.cpp.

3064{
3065 return E_NOTIMPL;
3066}

◆ _Initialize()

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

Implements IBrowserService2.

Definition at line 2966 of file shellbrowser.cpp.

2967{
2968 return E_NOTIMPL;
2969}

◆ _LoadToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3118 of file shellbrowser.cpp.

3119{
3120 return E_NOTIMPL;
3121}

◆ _MaySaveChanges()

HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges ( )
override

Implements IBrowserService2.

Definition at line 2981 of file shellbrowser.cpp.

2982{
2983 return E_NOTIMPL;
2984}

◆ _NavigateToPidl()

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

Definition at line 2996 of file shellbrowser.cpp.

2997{
2998 const UINT navflags = HLNF_NAVIGATINGBACK | HLNF_NAVIGATINGFORWARD;
2999 if ((grfHLNF & navflags) && grfHLNF != ~0ul)
3000 {
3001 UINT SbspFlags = (grfHLNF & HLNF_NAVIGATINGBACK) ? SBSP_NAVIGATEBACK : SBSP_NAVIGATEFORWARD;
3002 if (grfHLNF & SHHLNF_WRITENOHISTORY)
3003 SbspFlags |= SBSP_WRITENOHISTORY;
3004 if (grfHLNF & SHHLNF_NOAUTOSELECT)
3005 SbspFlags |= SBSP_NOAUTOSELECT;
3006 return BrowseObject(pidl, SbspFlags);
3007 }
3008 return E_NOTIMPL;
3009}
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 3038 of file shellbrowser.cpp.

3039{
3040 return E_NOTIMPL;
3041}

◆ _PauseOrResumeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView ( BOOL  fPaused)
override

Implements IBrowserService2.

Definition at line 2986 of file shellbrowser.cpp.

2987{
2988 return E_NOTIMPL;
2989}

◆ _put_itbLastFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus ( UINT  itbLastFocus)
override

Implements IBrowserService2.

Definition at line 3053 of file shellbrowser.cpp.

3054{
3055 return E_NOTIMPL;
3056}

◆ _ResizeNextBorder()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3073 of file shellbrowser.cpp.

3074{
3075 return E_NOTIMPL;
3076}

◆ _ResizeNextBorderHelper()

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

Implements IBrowserService2.

Definition at line 3134 of file shellbrowser.cpp.

3135{
3136 return E_NOTIMPL;
3137}

◆ _ResizeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView ( )
override

Implements IBrowserService2.

Definition at line 3078 of file shellbrowser.cpp.

3079{
3080 return E_NOTIMPL;
3081}

◆ _SaveToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3113 of file shellbrowser.cpp.

3114{
3115 return E_NOTIMPL;
3116}

◆ _SendChildren()

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

Implements IBrowserService2.

Definition at line 3027 of file shellbrowser.cpp.

3029{
3030 return E_NOTIMPL;
3031}

◆ _SetFocus()

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

Implements IBrowserService2.

Definition at line 3144 of file shellbrowser.cpp.

3145{
3146 return E_NOTIMPL;
3147}

◆ _SwitchActivationNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow ( )
override

Implements IBrowserService2.

Definition at line 3016 of file shellbrowser.cpp.

3017{
3018 return E_NOTIMPL;
3019}

◆ _TryShell2Rename()

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

Definition at line 3011 of file shellbrowser.cpp.

3012{
3013 return E_NOTIMPL;
3014}

◆ _UIActivateView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView ( UINT  uState)
override

Implements IBrowserService2.

Definition at line 3058 of file shellbrowser.cpp.

3059{
3060 return E_NOTIMPL;
3061}

◆ _UpdateViewRectSize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize ( )
override

Implements IBrowserService2.

Definition at line 3068 of file shellbrowser.cpp.

3069{
3070 return E_NOTIMPL;
3071}

◆ ActivatePendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView ( )
override

Implements IBrowserService2.

Definition at line 2894 of file shellbrowser.cpp.

2895{
2896 return E_NOTIMPL;
2897}

◆ AllowViewResize()

HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize ( BOOL  f)
override

Implements IBrowserService2.

Definition at line 2941 of file shellbrowser.cpp.

2942{
2943 return E_NOTIMPL;
2944}

◆ ApplyBrowserDefaultFolderSettings()

HRESULT CShellBrowser::ApplyBrowserDefaultFolderSettings ( IShellView pSV)

Definition at line 838 of file shellbrowser.cpp.

839{
840 HRESULT hr;
841 if (pSV)
842 {
844 SBFOLDERSETTINGS &sbfs = m_deffoldersettings, defsbfs;
845 if (FAILED(pSV->GetCurrentInfo(&sbfs.FolderSettings)))
846 {
847 defsbfs.InitializeDefaults();
848 sbfs = defsbfs;
849 }
851 }
852 else
853 {
856 if (SUCCEEDED(hr))
858 }
859 return hr;
860}
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 862 of file shellbrowser.cpp.

863{
864 if ((Flags & (SBSP_SAMEBROWSER | SBSP_NEWBROWSER)) == SBSP_DEFBROWSER)
865 {
867 Flags |= SBSP_SAMEBROWSER; // Force if this is the first navigation or the folder tree is present
868 else
869 Flags |= (!!gCabinetState.fNewWindowMode) ^ (GetAsyncKeyState(VK_CONTROL) < 0) ? SBSP_NEWBROWSER : SBSP_SAMEBROWSER;
870 }
871 if (Flags & (SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
872 Flags = (Flags & ~SBSP_NEWBROWSER) | SBSP_SAMEBROWSER; // Force same browser for now
873 return Flags;
874}
STDMETHOD() IsControlWindowShown(UINT id, BOOL *pfShown) override
#define S_OK
Definition: intsafe.h:52
BOOL fNewWindowMode
Definition: shlobj.h:2398
#define VK_CONTROL
Definition: winuser.h:2239
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 2382 of file shellbrowser.cpp.

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

Referenced by _NavigateToPidl(), Navigate(), and RelayCommands().

◆ BrowseToPath()

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

Definition at line 1025 of file shellbrowser.cpp.

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

Referenced by BrowseToPIDL().

◆ BrowseToPIDL()

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

Definition at line 908 of file shellbrowser.cpp.

909{
910 // Called by shell view to browse to new folder
911 // also called by explorer band to navigate to new folder
912 CComPtr<IShellFolder> newFolder;
914
915 HRESULT hr = SHBindToFolder(pidl, &newFolder);
917 return hr;
918
919 hr = BrowseToPath(newFolder, pidl, &newFolderSettings, flags);
921 return hr;
922 return S_OK;
923}
HRESULT BrowseToPath(IShellFolder *newShellFolder, LPCITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags)
HRESULT WINAPI SHBindToFolder(LPCITEMIDLIST path, IShellFolder **newFolder)

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

◆ BuildExplorerBandCategory()

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

Definition at line 1905 of file shellbrowser.cpp.

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

Referenced by BuildExplorerBandMenu().

◆ BuildExplorerBandMenu()

HRESULT CShellBrowser::BuildExplorerBandMenu ( )

Definition at line 1881 of file shellbrowser.cpp.

1882{
1883 HMENU hBandsMenu;
1884 UINT nbFound;
1885
1887 if (!hBandsMenu)
1888 {
1889 OutputDebugString(L"No menu !\n");
1890 return E_FAIL;
1891 }
1893 BuildExplorerBandCategory(hBandsMenu, CATID_InfoBand, 4, NULL);
1894 BuildExplorerBandCategory(hBandsMenu, CATID_CommBand, 20, &nbFound);
1895 if (!nbFound)
1896 {
1897 // Remove separator
1899 }
1900 // Remove media menu since XP does it (according to API Monitor)
1902 return S_OK;
1903}
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:60
#define OutputDebugString
Definition: winbase.h:3639
#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 2806 of file shellbrowser.cpp.

2807{
2808 return E_NOTIMPL;
2809}

◆ CanNavigateNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow ( void  )
override

Implements IBrowserService.

Definition at line 2754 of file shellbrowser.cpp.

2755{
2756 return E_NOTIMPL;
2757}

◆ ClientToWindow()

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

Definition at line 3359 of file shellbrowser.cpp.

3360{
3361 return E_NOTIMPL;
3362}

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 2294 of file shellbrowser.cpp.

2295{
2296 return E_NOTIMPL;
2297}

◆ CreateBrowserPropSheetExt()

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

Implements IBrowserService2.

Definition at line 2905 of file shellbrowser.cpp.

2906{
2907 return E_NOTIMPL;
2908}

◆ CreateRelativeBrowsePIDL()

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

Definition at line 891 of file shellbrowser.cpp.

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

Referenced by BrowseObject().

◆ CreateViewWindow()

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

Implements IBrowserService2.

Definition at line 2899 of file shellbrowser.cpp.

2901{
2902 return E_NOTIMPL;
2903}

◆ DisplayParseError()

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

Implements IBrowserService.

Definition at line 2707 of file shellbrowser.cpp.

2708{
2709 return E_NOTIMPL;
2710}

◆ DoFolderOptions()

HRESULT CShellBrowser::DoFolderOptions ( )

Definition at line 1444 of file shellbrowser.cpp.

1445{
1446 CComPtr<IShellPropSheetExt> folderOptionsSheet;
1447 PROPSHEETHEADER m_PropSheet;
1449// CComPtr<IGlobalFolderSettings> globalSettings;
1450// SHELLSTATE2 shellState;
1451 HRESULT hResult;
1452
1453 memset(m_psp, 0, sizeof(m_psp));
1454 memset(&m_PropSheet, 0, sizeof(m_PropSheet));
1455
1456 // create sheet object
1457 hResult = CoCreateInstance(CLSID_ShellFldSetExt, NULL, CLSCTX_INPROC_SERVER,
1458 IID_PPV_ARG(IShellPropSheetExt, &folderOptionsSheet));
1459 if (FAILED_UNEXPECTEDLY(hResult))
1460 return E_FAIL;
1461
1462 // must set site in order for Apply to all Folders on Advanced page to be enabled
1463 hResult = IUnknown_SetSite(folderOptionsSheet, static_cast<IDispatch *>(this));
1464 m_PropSheet.phpage = m_psp;
1465
1466#if 0
1467 hResult = CoCreateInstance(CLSID_GlobalFolderSettings, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IGlobalFolderSettings, &globalSettings));
1468 if (FAILED_UNEXPECTEDLY(hResult))
1469 return E_FAIL;
1470 hResult = globalSettings->Get(&shellState, sizeof(shellState));
1471 if (FAILED_UNEXPECTEDLY(hResult))
1472 return E_FAIL;
1473#endif
1474
1475 // add pages
1476 hResult = folderOptionsSheet->AddPages(AddFolderOptionsPage, reinterpret_cast<LPARAM>(&m_PropSheet));
1477 if (FAILED_UNEXPECTEDLY(hResult))
1478 return E_FAIL;
1479
1481 {
1482 hResult = fCurrentShellView->AddPropertySheetPages(
1483 0, AddFolderOptionsPage, reinterpret_cast<LPARAM>(&m_PropSheet));
1484 if (FAILED_UNEXPECTEDLY(hResult))
1485 return E_FAIL;
1486 }
1487
1488 // show sheet
1489 CStringW strFolderOptions(MAKEINTRESOURCEW(IDS_FOLDER_OPTIONS));
1490 m_PropSheet.dwSize = sizeof(PROPSHEETHEADER);
1491 m_PropSheet.dwFlags = 0;
1492 m_PropSheet.hwndParent = m_hWnd;
1493 m_PropSheet.hInstance = _AtlBaseModule.GetResourceInstance();
1494 m_PropSheet.pszCaption = strFolderOptions;
1495 m_PropSheet.nStartPage = 0;
1496 PropertySheet(&m_PropSheet);
1497 return S_OK;
1498}
#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 2498 of file shellbrowser.cpp.

2500{
2501 return E_NOTIMPL;
2502}

◆ DragLeave()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave ( void  )
override

Implements IDropTarget.

Definition at line 2509 of file shellbrowser.cpp.

2510{
2511 return E_NOTIMPL;
2512}

◆ DragOver()

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

Implements IDropTarget.

Definition at line 2504 of file shellbrowser.cpp.

2505{
2506 return E_NOTIMPL;
2507}

◆ Drop()

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

Implements IDropTarget.

Definition at line 2514 of file shellbrowser.cpp.

2516{
2517 return E_NOTIMPL;
2518}

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB ( BOOL  fEnable)
override

Implements IShellBrowser.

Definition at line 2370 of file shellbrowser.cpp.

2371{
2372 return E_NOTIMPL;
2373}

◆ Exec()

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

Implements IOleCommandTarget.

Definition at line 2142 of file shellbrowser.cpp.

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

Referenced by OnToggleExplorerBar(), and ShowControlWindow().

◆ ExecWB()

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

Definition at line 3518 of file shellbrowser.cpp.

3520{
3524 if (SUCCEEDED(hr))
3525 hr = pOCT->Exec(NULL, cmdID, cmdexecopt, pvaIn, pvaOut);
3526 return hr;
3527}
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 3633 of file shellbrowser.cpp.

3634{
3635 return E_NOTIMPL;
3636}

◆ FireCommandStateChange()

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

Definition at line 1692 of file shellbrowser.cpp.

1693{
1694 VARIANT varArg[2];
1695
1696 V_VT(&varArg[0]) = VT_BOOL;
1697 V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE;
1698 V_VT(&varArg[1]) = VT_I4;
1699 V_I4(&varArg[1]) = commandID;
1700
1701 return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg);
1702}
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 1704 of file shellbrowser.cpp.

1705{
1706 return FireCommandStateChange(false, -1);
1707}
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 1635 of file shellbrowser.cpp.

1636{
1640 HRESULT hResult;
1641
1642 params.rgvarg = arguments;
1643 params.rgdispidNamedArgs = NULL;
1644 params.cArgs = argCount;
1645 params.cNamedArgs = 0;
1646 IUnknown** pp = vec.begin();
1647 while (pp < vec.end())
1648 {
1649 if (*pp != NULL)
1650 {
1651 CComPtr<IDispatch> theDispatch;
1652 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1653 if (SUCCEEDED(hResult))
1654 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1655 }
1656 pp++;
1657 }
1658 pp = vec2.begin();
1659 while (pp < vec2.end())
1660 {
1661 if (*pp != NULL)
1662 {
1663 CComPtr<IDispatch> theDispatch;
1664 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1665 if (SUCCEEDED(hResult))
1666 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1667 }
1668 pp++;
1669 }
1670 return S_OK;
1671}
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 1709 of file shellbrowser.cpp.

1710{
1711 VARIANT vArgs[1];
1712 V_VT(&vArgs[0]) = VT_BOOL;
1713 V_BOOL(&vArgs[0]) = Param1 ? VARIANT_TRUE : VARIANT_FALSE;
1714 return FireEvent(dispIdMember, 1, vArgs);
1715}

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

1674{
1675 // these two variants intentionally to do use CComVariant because it would double free/release
1676 // or does not need to dispose at all
1677 VARIANT varArg[2];
1678 VARIANT varArgs;
1679 CComBSTR tempString(newDirectory);
1680
1681 V_VT(&varArgs) = VT_BSTR;
1682 V_BSTR(&varArgs) = tempString.m_str;
1683
1684 V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF;
1685 V_VARIANTREF(&varArg[0]) = &varArgs;
1686 V_VT(&varArg[1]) = VT_DISPATCH;
1687 V_DISPATCH(&varArg[1]) = (IDispatch *)this;
1688
1689 return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg);
1690}
@ 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 3607 of file shellbrowser.cpp.

3608{
3609 *Value = IsControlWindowShown(FCW_ADDRESSBAR, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3610 return S_OK;
3611}
#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 3264 of file shellbrowser.cpp.

3265{
3266 return E_NOTIMPL;
3267}

◆ get_Busy()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy ( VARIANT_BOOL pBool)
override

Definition at line 3348 of file shellbrowser.cpp.

3349{
3350 return E_NOTIMPL;
3351}

◆ get_Container()

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

Definition at line 3274 of file shellbrowser.cpp.

3275{
3276 return E_NOTIMPL;
3277}

◆ get_Document()

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

Definition at line 3279 of file shellbrowser.cpp.

3280{
3281 return E_NOTIMPL;
3282}

◆ get_FullName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName ( BSTR FullName)
override

Definition at line 3385 of file shellbrowser.cpp.

3386{
3387 return E_NOTIMPL;
3388}

◆ get_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen ( VARIANT_BOOL pbFullScreen)
override

Definition at line 3470 of file shellbrowser.cpp.

3471{
3472 *pbFullScreen = (m_BrowserSvcFlags & BSF_ROS_KIOSK) ? VARIANT_TRUE : VARIANT_FALSE;
3473 return S_OK;
3474}

◆ get_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height ( long pl)
override

Definition at line 3326 of file shellbrowser.cpp.

3327{
3328 return E_NOTIMPL;
3329}

◆ get_HWND()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND ( SHANDLE_PTR pHWND)
override

Definition at line 3379 of file shellbrowser.cpp.

3380{
3382 return *pHWND ? S_OK : E_UNEXPECTED;
3383}
#define HandleToLong(h)
Definition: basetsd.h:74
HWND GetTopLevelBrowserWindow()

◆ get_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left ( long pl)
override

Definition at line 3296 of file shellbrowser.cpp.

3297{
3298 return E_NOTIMPL;
3299}

◆ get_LocationName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName ( BSTR LocationName)
override

Definition at line 3338 of file shellbrowser.cpp.

3339{
3340 return E_NOTIMPL;
3341}

◆ get_LocationURL()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL ( BSTR LocationURL)
override

Definition at line 3343 of file shellbrowser.cpp.

3344{
3345 return E_NOTIMPL;
3346}

◆ get_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar ( VARIANT_BOOL Value)
override

Definition at line 3456 of file shellbrowser.cpp.

3457{
3458 *Value = IsControlWindowShown(FCW_MENU, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3459 return S_OK;
3460}
#define FCW_MENU

Referenced by OnToggleFullscreen().

◆ get_Name()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name ( BSTR Name)
override

Definition at line 3374 of file shellbrowser.cpp.

3375{
3376 return E_NOTIMPL;
3377}

◆ get_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline ( VARIANT_BOOL pbOffline)
override

Definition at line 3548 of file shellbrowser.cpp.

3549{
3550 return E_NOTIMPL;
3551}

◆ get_Parent()

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

Definition at line 3269 of file shellbrowser.cpp.

3270{
3271 return E_NOTIMPL;
3272}

◆ get_Path()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path ( BSTR Path)
override

Definition at line 3390 of file shellbrowser.cpp.

3391{
3392 return E_NOTIMPL;
3393}

◆ get_ReadyState()

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

Definition at line 3543 of file shellbrowser.cpp.

3544{
3545 return E_NOTIMPL;
3546}

◆ get_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser ( VARIANT_BOOL pbRegister)
override

Definition at line 3568 of file shellbrowser.cpp.

3569{
3570 *pbRegister = (m_BrowserSvcFlags & BSF_ROS_REGBROWSER) ? VARIANT_TRUE : VARIANT_FALSE;
3571 return S_OK;
3572}

◆ get_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget ( VARIANT_BOOL pbRegister)
override

Definition at line 3582 of file shellbrowser.cpp.

3583{
3584 *pbRegister = (m_BrowserSvcFlags & BSF_REGISTERASDROPTARGET) ? VARIANT_TRUE : VARIANT_FALSE;
3585 return S_OK;
3586}

◆ get_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable ( VARIANT_BOOL Value)
override

Definition at line 3621 of file shellbrowser.cpp.

3622{
3623 *Value = (m_BrowserSvcFlags & BSF_RESIZABLE) ? VARIANT_TRUE : VARIANT_FALSE;
3624 return E_NOTIMPL;
3625}

◆ get_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent ( VARIANT_BOOL pbSilent)
override

Definition at line 3558 of file shellbrowser.cpp.

3559{
3560 return E_NOTIMPL;
3561}

◆ get_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar ( VARIANT_BOOL pBool)
override

Definition at line 3414 of file shellbrowser.cpp.

3415{
3416 *pBool = IsControlWindowShown(FCW_STATUS, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3417 return S_OK;
3418}

Referenced by OnToggleFullscreen().

◆ get_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText ( BSTR StatusText)
override

Definition at line 3428 of file shellbrowser.cpp.

3429{
3430 return E_NOTIMPL;
3431}

◆ get_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode ( VARIANT_BOOL pbRegister)
override

Definition at line 3594 of file shellbrowser.cpp.

3595{
3596 *pbRegister = (m_BrowserSvcFlags & BSF_THEATERMODE) ? VARIANT_TRUE : VARIANT_FALSE;
3597 return S_OK;
3598}

◆ get_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar ( int Value)
override

Definition at line 3439 of file shellbrowser.cpp.

3440{
3441 *Value = IsControlWindowShown(FCW_INTERNETBAR, NULL) == S_OK;
3442 if (!*Value && IsControlWindowShown(FCW_TOOLBAR, NULL) == S_OK)
3443 *Value = FCW_TOOLBAR;
3444 return S_OK;
3445}

◆ get_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top ( long pl)
override

Definition at line 3306 of file shellbrowser.cpp.

3307{
3308 return E_NOTIMPL;
3309}

◆ get_TopLevelContainer()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer ( VARIANT_BOOL pBool)
override

Definition at line 3284 of file shellbrowser.cpp.

3285{
3286 return E_NOTIMPL;
3287}

◆ get_Type()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type ( BSTR Type)
override

Definition at line 3289 of file shellbrowser.cpp.

3290{
3291 return E_NOTIMPL;
3292}

◆ get_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible ( VARIANT_BOOL pBool)
override

Definition at line 3395 of file shellbrowser.cpp.

3396{
3398 *pBool = hWnd && ::IsWindowVisible(hWnd) ? VARIANT_TRUE : VARIANT_FALSE;
3399 return S_OK;
3400}
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 3316 of file shellbrowser.cpp.

3317{
3318 return E_NOTIMPL;
3319}

◆ GetBaseBar()

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

Definition at line 1230 of file shellbrowser.cpp.

1231{
1232 CComPtr<IUnknown> newBaseBar;
1233 CComPtr<IDeskBar> deskBar;
1234 CComPtr<IUnknown> newBaseBarSite;
1235 CComPtr<IDeskBarClient> deskBarClient;
1236 IUnknown **cache;
1237 HRESULT hResult;
1238
1239 if (vertical)
1241 else
1243 if (*cache == NULL)
1244 {
1245 hResult = CBaseBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBar), vertical);
1246 if (FAILED_UNEXPECTEDLY(hResult))
1247 return hResult;
1248 hResult = CBaseBarSite_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBarSite), vertical);
1249 if (FAILED_UNEXPECTEDLY(hResult))
1250 return hResult;
1251
1252 // we have to store our basebar into cache now
1253 *cache = newBaseBar;
1254 (*cache)->AddRef();
1255
1256 // tell the new base bar about the shell browser
1257 hResult = IUnknown_SetSite(newBaseBar, static_cast<IDropTarget *>(this));
1258 if (FAILED_UNEXPECTEDLY(hResult))
1259 return hResult;
1260
1261 // tell the new base bar about the new base bar site
1262 hResult = newBaseBar->QueryInterface(IID_PPV_ARG(IDeskBar, &deskBar));
1263 if (FAILED_UNEXPECTEDLY(hResult))
1264 return hResult;
1265 hResult = deskBar->SetClient(newBaseBarSite);
1266 if (FAILED_UNEXPECTEDLY(hResult))
1267 return hResult;
1268
1269 // tell the new base bar site about the new base bar
1270 hResult = newBaseBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &deskBarClient));
1271 if (FAILED_UNEXPECTEDLY(hResult))
1272 return hResult;
1273 hResult = deskBarClient->SetDeskBarSite(newBaseBar);
1274 if (FAILED_UNEXPECTEDLY(hResult))
1275 return hResult;
1276
1277 }
1278 return (*cache)->QueryInterface(riid, theBaseBar);
1279}
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 2915 of file shellbrowser.cpp.

2916{
2917 return E_NOTIMPL;
2918}

◆ GetBorderDW()

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

Definition at line 2020 of file shellbrowser.cpp.

2021{
2022 static const INT excludeItems[] = { 1, 1, 1, IDC_STATUSBAR, 0, 0 };
2023
2024 RECT availableBounds;
2025
2026 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
2027 for (INT x = 0; x < 3; x++)
2028 {
2029 if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
2030 {
2031 availableBounds.top += fClientBars[x].borderSpace.top;
2032 availableBounds.left += fClientBars[x].borderSpace.left;
2033 availableBounds.bottom -= fClientBars[x].borderSpace.bottom;
2034 availableBounds.right -= fClientBars[x].borderSpace.right;
2035 }
2036 }
2037 *prcBorder = availableBounds;
2038 return S_OK;
2039}
#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:102
LONG bottom
Definition: windef.h:103
LONG top
Definition: windef.h:101
LONG left
Definition: windef.h:100

◆ GetBrowserByIndex()

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

Implements IBrowserService.

Definition at line 2775 of file shellbrowser.cpp.

2776{
2777 return E_NOTIMPL;
2778}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 3657 of file shellbrowser.cpp.

3658{
3659 return E_NOTIMPL;
3660}

◆ GetControlWindow()

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

Implements IShellBrowser.

Definition at line 2425 of file shellbrowser.cpp.

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

◆ GetFlags()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetFlags ( DWORD pdwFlags)
override

Implements IBrowserService.

Definition at line 2748 of file shellbrowser.cpp.

2749{
2750 *pdwFlags = m_BrowserSvcFlags;
2751 return S_OK;
2752}

◆ GetFolderSetData()

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

Implements IBrowserService2.

Definition at line 3033 of file shellbrowser.cpp.

3034{
3035 return E_NOTIMPL;
3036}

◆ GetHistoryObject()

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

Implements IBrowserService.

Definition at line 2780 of file shellbrowser.cpp.

2781{
2782 if (ppole == NULL || pstm == NULL || ppbc == NULL)
2783 return E_INVALIDARG;
2784 *ppole = fHistoryObject;
2785 if (fHistoryObject != NULL)
2787 *pstm = fHistoryStream;
2788 if (fHistoryStream != NULL)
2790 *ppbc = fHistoryBindContext;
2796 if (*ppole == NULL)
2797 return E_FAIL;
2798 return S_OK;
2799}
ULONG AddRef()

◆ GetIDsOfNames()

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

Definition at line 2580 of file shellbrowser.cpp.

2582{
2583 return E_NOTIMPL;
2584}

◆ GetMenuBand()

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

Definition at line 1213 of file shellbrowser.cpp.

1214{
1215 CComPtr<IBandSite> bandSite;
1216 CComPtr<IDeskBand> deskBand;
1217 HRESULT hResult;
1218
1219 if (!fClientBars[BIInternetToolbar].clientBar)
1220 return E_FAIL;
1221
1223 if (FAILED_UNEXPECTEDLY(hResult))
1224 return hResult;
1225
1226 hResult = bandSite->QueryBand(ITBBID_MENUBAND, &deskBand, NULL, NULL, 0);
1227 return FAILED(hResult) ? hResult : deskBand->QueryInterface(riid, shellMenu); // It is expected that this might fail during WM_DESTROY
1228}
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:921

Referenced by SetMenuSB(), and WindowProc().

◆ GetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState ( BNSTATE pbnstate)
override

Implements IBrowserService.

Definition at line 2722 of file shellbrowser.cpp.

2723{
2724 return E_NOTIMPL;
2725}

◆ GetOleObject()

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

Implements IBrowserService.

Definition at line 2607 of file shellbrowser.cpp.

2608{
2609 return E_NOTIMPL;
2610}

◆ GetPalette()

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

Implements IBrowserService.

Definition at line 2822 of file shellbrowser.cpp.

2823{
2824 return E_NOTIMPL;
2825}

◆ GetParentSite()

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

Implements IBrowserService.

Definition at line 2592 of file shellbrowser.cpp.

2593{
2594 return E_NOTIMPL;
2595}

◆ GetPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl ( LPITEMIDLIST ppidl)
override

Definition at line 2759 of file shellbrowser.cpp.

2760{
2761 // called by explorer bar to get current pidl
2762 return ppidl ? SHILClone(fCurrentDirectoryPIDL, ppidl) : E_POINTER;
2763}

Referenced by CreateRelativeBrowsePIDL(), and GetPropertyBag().

◆ GetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie ( DWORD pdwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3746 of file shellbrowser.cpp.

3747{
3748 return E_NOTIMPL;
3749}

◆ GetProperty()

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

Definition at line 3369 of file shellbrowser.cpp.

3370{
3371 return E_NOTIMPL;
3372}

◆ GetPropertyBag()

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

Definition at line 2547 of file shellbrowser.cpp.

2548{
2549 if (ppvObject == NULL)
2550 return E_POINTER;
2551
2552 *ppvObject = NULL;
2553
2554 LPITEMIDLIST pidl;
2555 HRESULT hr = GetPidl(&pidl);
2557 return E_FAIL;
2558
2559 // FIXME: pidl for Internet etc.
2560
2561 if (_ILIsNetworkPlace(pidl))
2563
2564 hr = SHGetViewStatePropertyBag(pidl, L"Shell", flags, riid, ppvObject);
2565
2566 ILFree(pidl);
2567 return hr;
2568}
static BOOL _ILIsNetworkPlace(LPCITEMIDLIST pidl)
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
Definition: ordinal.c:5427
#define SHGVSPB_ROAM
Definition: shlwapi.h:172

◆ GetSetCodePage()

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

Implements IBrowserService.

Definition at line 2811 of file shellbrowser.cpp.

2812{
2813 return E_NOTIMPL;
2814}

◆ GetTitle()

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

Implements IBrowserService.

Definition at line 2602 of file shellbrowser.cpp.

2603{
2604 return E_NOTIMPL;
2605}

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

2613{
2614 HRESULT hResult;
2615
2616 // called by toolbar when displaying tooltips
2617 if (pptl == NULL)
2618 return E_FAIL;
2619
2620 *pptl = NULL;
2621 if (fTravelLog.p == NULL)
2622 {
2624 if (FAILED_UNEXPECTEDLY(hResult))
2625 return hResult;
2626 }
2627 *pptl = fTravelLog.p;
2628 fTravelLog.p->AddRef();
2629 return S_OK;
2630}
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 2575 of file shellbrowser.cpp.

2576{
2577 return E_NOTIMPL;
2578}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfoCount ( UINT pctinfo)
override

Definition at line 2570 of file shellbrowser.cpp.

2571{
2572 return E_NOTIMPL;
2573}

◆ GetViewRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 2848 of file shellbrowser.cpp.

2849{
2850 return E_NOTIMPL;
2851}

◆ GetViewStateStream()

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

Implements IShellBrowser.

Definition at line 2420 of file shellbrowser.cpp.

2421{
2422 return E_NOTIMPL;
2423}

◆ GetViewWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewWindow ( HWND phwndView)
override

Implements IBrowserService2.

Definition at line 2910 of file shellbrowser.cpp.

2911{
2912 return E_NOTIMPL;
2913}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 2286 of file shellbrowser.cpp.

2287{
2288 if (lphwnd == NULL)
2289 return E_POINTER;
2290 *lphwnd = m_hWnd;
2291 return S_OK;
2292}

◆ GetWindowData()

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

Implements ITravelLogClient.

Definition at line 3638 of file shellbrowser.cpp.

3639{
3640 if (pWinData == NULL)
3641 return E_POINTER;
3642
3643 pWinData->dwWindowID = -1;
3644 pWinData->uiCP = 0;
3645 pWinData->pidl = ILClone(fCurrentDirectoryPIDL);
3646 pWinData->lpszUrl = NULL;
3647 pWinData->lpszUrlLocation = NULL;
3648 pWinData->lpszTitle = NULL;
3649 return S_OK;
3650}
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:238
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 665 of file shellbrowser.cpp.

666 {
667 static ATL::CWndClassInfo wc =
668 {
670 0, 0, NULL, LoadIcon(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDI_CABINET)),
672 NULL, NULL, IDC_ARROW, TRUE, 0, _T("")
673 };
674 return wc;
675 }
#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:5924
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5830

◆ GoBack()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoBack ( )
override

Definition at line 3173 of file shellbrowser.cpp.

3174{
3175 CComPtr<ITravelLog> travelLog;
3176 CComPtr<ITravelEntry> unusedEntry;
3177 HRESULT hResult;
3178
3179 hResult = GetTravelLog(&travelLog);
3180 if (FAILED_UNEXPECTEDLY(hResult))
3181 return hResult;
3182
3183 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_BACK, &unusedEntry);
3184 if (SUCCEEDED(hResult))
3185 {
3186 unusedEntry.Release();
3187 return travelLog->Travel(static_cast<IDropTarget *>(this), TLOG_BACK);
3188 }
3189
3190 return hResult;
3191}
#define TLOG_BACK
Definition: shlobj.h:2743

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

◆ GoForward()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoForward ( )
override

Definition at line 3193 of file shellbrowser.cpp.

3194{
3195 CComPtr<ITravelLog> travelLog;
3196 CComPtr<ITravelEntry> unusedEntry;
3197 HRESULT hResult;
3198
3199 hResult = GetTravelLog(&travelLog);
3200 if (FAILED_UNEXPECTEDLY(hResult))
3201 return hResult;
3202
3203 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_FORE, &unusedEntry);
3204 if (SUCCEEDED(hResult))
3205 {
3206 unusedEntry.Release();
3207 return travelLog->Travel(static_cast<IDropTarget *>(this), TLOG_FORE);
3208 }
3209
3210 return hResult;
3211}
#define TLOG_FORE
Definition: shlobj.h:2744

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

◆ GoHome()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoHome ( )
override

Definition at line 3213 of file shellbrowser.cpp.

3214{
3215 return E_NOTIMPL;
3216}

Referenced by OnGoHome().

◆ GoSearch()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoSearch ( )
override

Definition at line 3218 of file shellbrowser.cpp.

3219{
3220 return E_NOTIMPL;
3221}

◆ IEGetDisplayName()

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

Definition at line 2697 of file shellbrowser.cpp.

2698{
2699 return E_NOTIMPL;
2700}

◆ IEParseDisplayName()

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

Definition at line 2702 of file shellbrowser.cpp.

2703{
2704 return E_NOTIMPL;
2705}

◆ Initialize()

HRESULT CShellBrowser::Initialize ( )

Definition at line 776 of file shellbrowser.cpp.

777{
778 CComPtr<IPersistStreamInit> persistStreamInit;
779 HRESULT hResult;
780 CComPtr<IUnknown> clientBar;
781
783
784 menuDsa = DSA_Create(sizeof(MenuBandInfo), 5);
785 if (!menuDsa)
786 return E_OUTOFMEMORY;
787
788 // create window
790 if (m_hWnd == NULL)
791 return E_FAIL;
792
794 if (FAILED_UNEXPECTEDLY(hResult))
795 return hResult;
796
798
799 // create interfaces
800 hResult = clientBar->QueryInterface(IID_PPV_ARG(IPersistStreamInit, &persistStreamInit));
801 if (FAILED_UNEXPECTEDLY(hResult))
802 return hResult;
803
804 hResult = IUnknown_SetSite(clientBar, static_cast<IShellBrowser *>(this));
805 if (FAILED_UNEXPECTEDLY(hResult))
806 return hResult;
807
808 hResult = IUnknown_Exec(clientBar, CGID_PrivCITCommands, 1, 1 /* or 0 */, NULL, NULL);
809 if (FAILED_UNEXPECTEDLY(hResult))
810 return hResult;
811
812 CComPtr<IStream> pITBarStream;
814 hResult = SUCCEEDED(hResult) ? persistStreamInit->Load(pITBarStream) : persistStreamInit->InitNew();
815 if (FAILED_UNEXPECTEDLY(hResult))
816 return hResult;
817
818 hResult = IUnknown_ShowDW(clientBar, TRUE);
819 if (FAILED_UNEXPECTEDLY(hResult))
820 return hResult;
821
822 fToolbarProxy.Initialize(m_hWnd, clientBar);
823
824 // create status bar
827 dwStatusStyle |= WS_VISIBLE;
829 0, 0, 500, 20, m_hWnd, (HMENU)IDC_STATUSBAR,
830 _AtlBaseModule.GetModuleInstance(), 0);
831
833 UpdateWindow();
834
835 return S_OK;
836}
@ 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 2956 of file shellbrowser.cpp.

2957{
2958 return E_NOTIMPL;
2959}

◆ InitializeTransitionSite()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTransitionSite ( )
override

Implements IBrowserService2.

Definition at line 2961 of file shellbrowser.cpp.

2962{
2963 return E_NOTIMPL;
2964}

◆ InitializeTravelLog()

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

Implements IBrowserService2.

Definition at line 2925 of file shellbrowser.cpp.

2926{
2927 return E_NOTIMPL;
2928}

◆ InsertMenusSB()

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

Implements IShellBrowser.

Definition at line 2299 of file shellbrowser.cpp.

2300{
2301 HMENU mainMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2302
2303 Shell_MergeMenus(hmenuShared, mainMenu, 0, 0, FCIDM_BROWSERLAST, MM_SUBMENUSHAVEIDS);
2304
2305 int GCCU(itemCount3) = GetMenuItemCount(hmenuShared);
2306 Unused(itemCount3);
2307
2308 DestroyMenu(mainMenu);
2309
2310 lpMenuWidths->width[0] = 2;
2311 lpMenuWidths->width[2] = 3;
2312 lpMenuWidths->width[4] = 1;
2313 return S_OK;
2314}
#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:628
#define MM_SUBMENUSHAVEIDS
Definition: shlobj.h:2535
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 2586 of file shellbrowser.cpp.

2588{
2589 return E_NOTIMPL;
2590}

◆ IsBandLoaded()

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

Definition at line 1281 of file shellbrowser.cpp.

1282{
1283 HRESULT hResult;
1284 CComPtr<IDeskBar> deskBar;
1285 CComPtr<IUnknown> baseBarSite;
1286 CComPtr<IBandSite> bandSite;
1287 CLSID clsidTmp;
1288 DWORD numBands;
1289 DWORD dwBandID;
1290 DWORD i;
1291
1292 /* Get our basebarsite to be able to enumerate bands */
1293 hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar));
1294 if (FAILED_UNEXPECTEDLY(hResult))
1295 return FALSE;
1296 hResult = deskBar->GetClient(&baseBarSite);
1297 if (FAILED_UNEXPECTEDLY(hResult))
1298 return FALSE;
1299 hResult = baseBarSite->QueryInterface(IID_PPV_ARG(IBandSite, &bandSite));
1300 if (FAILED_UNEXPECTEDLY(hResult))
1301 return FALSE;
1302
1303 numBands = bandSite->EnumBands(-1, NULL);
1304 for (i = 0; i < numBands; i++)
1305 {
1306 CComPtr<IPersist> bandPersist;
1307
1308 hResult = bandSite->EnumBands(i, &dwBandID);
1309 if (FAILED_UNEXPECTEDLY(hResult))
1310 return FALSE;
1311
1312 hResult = bandSite->GetBandObject(dwBandID, IID_PPV_ARG(IPersist, &bandPersist));
1313 if (FAILED_UNEXPECTEDLY(hResult))
1314 return FALSE;
1315 hResult = bandPersist->GetClassID(&clsidTmp);
1316 if (FAILED_UNEXPECTEDLY(hResult))
1317 return FALSE;
1318 if (IsEqualGUID(clsidBand, clsidTmp))
1319 {
1320 if (pdwBandID) *pdwBandID = dwBandID;
1321 return TRUE;
1322 }
1323 }
1324 return FALSE;
1325}
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 1951 of file shellbrowser.cpp.

1952{
1953 if (IsEqualCLSID(bandID, CLSID_ExplorerBand))
1954 return TRUE;
1955 if (IsEqualCLSID(bandID, CLSID_SH_SearchBand) || IsEqualCLSID(bandID, CLSID_SearchBand))
1956 return TRUE;
1957 if (IsEqualCLSID(bandID, CLSID_IE_SearchBand) || IsEqualCLSID(bandID, CLSID_FileSearchBand))
1958 return TRUE;
1959 if (IsEqualCLSID(bandID, CLSID_SH_HistBand))
1960 return TRUE;
1961 if (IsEqualCLSID(bandID, CLSID_SH_FavBand))
1962 return TRUE;
1963 if (IsEqualCLSID(bandID, CLSID_ChannelsBand))
1964 return TRUE;
1965 return FALSE;
1966}

Referenced by BuildExplorerBandCategory().

◆ IsControlWindowShown()

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

Implements IBrowserService.

Definition at line 2656 of file shellbrowser.cpp.

2657{
2658 HRESULT hr = S_OK;
2659 BOOL shown = FALSE;
2660 switch (id)
2661 {
2662 case FCW_STATUS:
2664 break;
2665 case FCW_TREE:
2666 {
2668 hr = QueryStatus(&CGID_Explorer, 1, &cmd, NULL);
2669 shown = cmd.cmdf & OLECMDF_LATCHED;
2670 break;
2671 }
2672 case FCW_MENU:
2674 break;
2675 case FCW_ADDRESSBAR:
2677 break;
2678 default:
2679 hr = E_NOTIMPL;
2680 }
2681 if (pfShown)
2682 {
2683 *pfShown = shown;
2684 return hr;
2685 }
2686 return SUCCEEDED(hr) ? (shown ? S_OK : S_FALSE) : hr;
2687}
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:933
#define ITID_ADDRESSBANDSHOWN
Definition: undocshell.h:931

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

◆ IsInternetToolbarBandShown()

HRESULT CShellBrowser::IsInternetToolbarBandShown ( UINT  ITId)

Definition at line 2689 of file shellbrowser.cpp.

2690{
2691 OLECMD cmd = { ITId };
2693 CGID_PrivCITCommands, 1, &cmd, NULL);
2694 return SUCCEEDED(hr) ? (cmd.cmdf & OLECMDF_LATCHED) ? S_OK : S_FALSE : hr;
2695}
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 3662 of file shellbrowser.cpp.

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

3653{
3654 return E_NOTIMPL;
3655}

◆ Navigate()

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

Definition at line 3223 of file shellbrowser.cpp.

3225{
3227 HRESULT hResult;
3228 CComPtr<IShellFolder> pDesktop;
3229
3230 hResult = SHGetDesktopFolder(&pDesktop);
3231 if (FAILED_UNEXPECTEDLY(hResult))
3232 return hResult;
3233 hResult = pDesktop->ParseDisplayName(NULL, NULL, URL, NULL, &pidl, NULL);
3234 if (FAILED_UNEXPECTEDLY(hResult))
3235 return hResult;
3236 return BrowseObject(pidl, 1);
3237}
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 3485 of file shellbrowser.cpp.

3487{
3488 LPITEMIDLIST pidl = NULL;
3489 HRESULT hResult;
3490 // called from drive combo box to navigate to a directory
3491 // Also called by search band to display shell results folder view
3492
3493 if (V_VT(URL) == VT_BSTR)
3494 {
3495 return this->Navigate(V_BSTR(URL), Flags, TargetFrameName, PostData, Headers);
3496 }
3497 if (V_VT(URL) == (VT_ARRAY | VT_UI1))
3498 {
3499 if (V_ARRAY(URL)->cDims != 1 || V_ARRAY(URL)->cbElements != 1)
3500 return E_INVALIDARG;
3501
3502 pidl = static_cast<LPITEMIDLIST>(V_ARRAY(URL)->pvData);
3503 }
3505 if (FAILED_UNEXPECTEDLY(hResult))
3506 return hResult;
3507 return S_OK;
3508}
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 1416 of file shellbrowser.cpp.

1417{
1419 if (newDirectory == NULL)
1420 return E_OUTOFMEMORY;
1421 if (_ILIsDesktop(newDirectory))
1422 {
1423 ILFree(newDirectory);
1424 return E_INVALIDARG;
1425 }
1426 ILRemoveLastID(newDirectory);
1428 ILFree(newDirectory);
1429 if (FAILED_UNEXPECTEDLY(hResult))
1430 return hResult;
1431 return S_OK;
1432}
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 2712 of file shellbrowser.cpp.

2713{
2714 return _NavigateToPidl(pidl, grfHLNF, 0);
2715}
STDMETHOD() _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) override

◆ NotifyRedirect()

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

Definition at line 2727 of file shellbrowser.cpp.

2728{
2729 return E_NOTIMPL;
2730}

◆ Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::Offline ( int  iCmd)
override

Implements IBrowserService2.

Definition at line 2936 of file shellbrowser.cpp.

2937{
2938 return E_NOTIMPL;
2939}

◆ OnAboutReactOS()

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

Definition at line 3949 of file shellbrowser.cpp.

3950{
3951 ShellAbout(m_hWnd, _T("ReactOS"), NULL, NULL);
3952 return 0;
3953}
#define ShellAbout
Definition: shellapi.h:731

◆ OnAddToFavorites()

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

Definition at line 4009 of file shellbrowser.cpp.

4010{
4012 LPCITEMIDLIST pidlLast;
4015 return hr;
4016
4017 STRRET strret;
4018 hr = pParent->GetDisplayNameOf(pidlLast, SHGDN_FORPARSING, &strret);
4020 return 0;
4021
4022 CComHeapPtr<WCHAR> pszURL;
4023 hr = StrRetToStrW(&strret, NULL, &pszURL);
4025 return 0;
4026
4027 AddUrlToFavorites(m_hWnd, pszURL, NULL, TRUE);
4028 return 0;
4029}
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 4214 of file shellbrowser.cpp.

4215{
4216 UINT uCmd = GET_APPCOMMAND_LPARAM(lParam), uExecCmd = 0;
4217 switch (uCmd)
4218 {
4219 case APPCOMMAND_BROWSER_BACKWARD: uExecCmd = IDM_GOTO_BACK; break;
4220 case APPCOMMAND_BROWSER_FORWARD: uExecCmd = IDM_GOTO_FORWARD; break;
4221 case APPCOMMAND_BROWSER_REFRESH: uExecCmd = IDM_VIEW_REFRESH; break;
4222 case APPCOMMAND_BROWSER_STOP: uExecCmd = FCIDM_BROWSER_STOP; break; // TODO: Handle Stop()
4223 case APPCOMMAND_BROWSER_SEARCH: uExecCmd = IDM_EXPLORERBAR_SEARCH; break;
4224 case APPCOMMAND_BROWSER_FAVORITES: uExecCmd = IDM_EXPLORERBAR_FAVORITES; break;
4225 case APPCOMMAND_BROWSER_HOME: uExecCmd = IDM_GOTO_HOMEPAGE; break;
4226 }
4227 if (uExecCmd)
4228 {
4229 SendMessage(WM_COMMAND, uExecCmd, 0);
4230 bHandled = TRUE;
4231 return TRUE;
4232 }
4233 return 0;
4234}
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:1768

◆ OnBackspace()

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

Definition at line 3987 of file shellbrowser.cpp.

3988{
3989 HRESULT hResult;
3990 if (LOBYTE(GetVersion()) < 6)
3991 hResult = NavigateToParent();
3992 else if (FAILED(hResult = GoBack()))
3993 hResult = GoForward();
3994
3995 if (FAILED(hResult))
3996 TRACE("Backspace navigation failed with hResult=%08lx\n", hResult);
3997 return 0;
3998}
DWORD WINAPI GetVersion(void)
Definition: version.c:1458
#define LOBYTE(W)
Definition: jmemdos.c:487

◆ OnCabinetStateChange()

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

Definition at line 4183 of file shellbrowser.cpp.

4184{
4186 return 0;
4187}
void RefreshCabinetState()

◆ OnClose()

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

Definition at line 3921 of file shellbrowser.cpp.

3922{
3923 return SendMessage(WM_CLOSE);
3924}
#define WM_CLOSE
Definition: winuser.h:1649

◆ OnCreate() [1/2]

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

Implements IBrowserService2.

Definition at line 2858 of file shellbrowser.cpp.

2859{
2861 return S_OK;
2862}
#define GetModuleHandle
Definition: winbase.h:3576
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 3751 of file shellbrowser.cpp.

3752{
3753 OnCreate(reinterpret_cast<LPCREATESTRUCT> (lParam));
3754 return 0;
3755}
STDMETHOD() OnCreate(struct tagCREATESTRUCTW *pcs) override

◆ OnDestroy() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnDestroy ( )
override

Implements IBrowserService2.

Definition at line 2869 of file shellbrowser.cpp.

2870{
2871 return E_NOTIMPL;
2872}

◆ OnDestroy() [2/2]

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

Definition at line 3757 of file shellbrowser.cpp.

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

3944{
3946 return 0;
3947}
#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 4279 of file shellbrowser.cpp.

4280{
4282 return 0;
4283}
UINT WPARAM wParam
#define BWM_ONDISPLAYCHANGEDELAYED
#define PostMessage
Definition: winuser.h:5943

◆ OnDisplayChangeDelayed()

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

Definition at line 4285 of file shellbrowser.cpp.

4286{
4287 if (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_ROS_KIOSK)) // Resize fullscreen on resolution change (CORE-20072)
4288 {
4292 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4293 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4295 }
4296 return 0;
4297}
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:3887
#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 4123 of file shellbrowser.cpp.

4124{
4125 // TODO: HACK ! use the proper mechanism to show the band (i.e. pass the BSTR to basebar)
4127 {
4128 MenuBandInfo *mbi;
4130 if (!mbi)
4131 return 0;
4132 ShowBand(mbi->barGuid, mbi->fVertical);
4133 bHandled = TRUE;
4134 return 1;
4135 }
4136 return 0;
4137}
#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 3926 of file shellbrowser.cpp.

3927{
3929 HRESULT hResult = DoFolderOptions();
3930 if (FAILED(hResult))
3931 TRACE("DoFolderOptions failed with hResult=%08lx\n", hResult);
3932 return 0;
3933}
#define IDM_TOOLS_FOLDEROPTIONS
Definition: resource.h:57
#define C_ASSERT(e)
Definition: intsafe.h:73
#define FCIDM_SHBROWSER_OPTIONS
Definition: shlobj_undoc.h:77

◆ OnFrameWindowActivateBS()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnFrameWindowActivateBS ( BOOL  fActive)
override

Implements IBrowserService2.

Definition at line 2884 of file shellbrowser.cpp.

2885{
2886 return E_NOTIMPL;
2887}

◆ OnGetSettingsPtr()

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

Definition at line 4204 of file shellbrowser.cpp.

4205{
4206 if (!lParam)
4208
4210 return NO_ERROR;
4211}
#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 3955 of file shellbrowser.cpp.

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

◆ OnGoForward()

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

Definition at line 3963 of file shellbrowser.cpp.

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

◆ OnGoHome()

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

Definition at line 3979 of file shellbrowser.cpp.

3980{
3981 HRESULT hResult = GoHome();
3982 if (FAILED(hResult))
3983 TRACE("GoHome failed with hResult=%08lx\n", hResult);
3984 return 0;
3985}
STDMETHOD() GoHome() override

◆ OnGoTravel()

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

Definition at line 4118 of file shellbrowser.cpp.

4119{
4120 return 0;
4121}

◆ OnGoUpLevel()

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

Definition at line 3971 of file shellbrowser.cpp.

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

◆ OnHttpEquiv()

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

Implements IBrowserService.

Definition at line 2816 of file shellbrowser.cpp.

2818{
2819 return E_NOTIMPL;
2820}

◆ OnInitMenuPopup()

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

Definition at line 3854 of file shellbrowser.cpp.

3855{
3856 HMENU theMenu;
3857 LPARAM menuIndex = lParam;
3858
3859 theMenu = reinterpret_cast<HMENU>(wParam);
3860
3862 {
3863 menuIndex = 0;
3864 }
3865 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_EDIT))
3866 {
3867 menuIndex = 1;
3868 }
3869 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW))
3870 {
3871 UpdateViewMenu(theMenu);
3872 menuIndex = 2;
3873 }
3875 {
3876 menuIndex = 3;
3877 }
3878 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_TOOLS))
3879 {
3880 // FIXME: Remove once implemented
3883 menuIndex = 4;
3884 }
3885 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_HELP))
3886 {
3887 menuIndex = 5;
3888 }
3889
3890 LRESULT ret = RelayMsgToShellView(uMsg, wParam, menuIndex, bHandled);
3891
3892 return ret;
3893}
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
return ret
Definition: mutex.c:146
LONG_PTR LRESULT
Definition: minwindef.h:176
#define FCIDM_MENU_FAVORITES
Definition: shlobj.h:644
#define FCIDM_MENU_HELP
Definition: shlobj.h:641
#define FCIDM_MENU_FILE
Definition: shlobj.h:635
#define FCIDM_MENU_TOOLS
Definition: shlobj.h:639
#define FCIDM_MENU_VIEW
Definition: shlobj.h:637
#define FCIDM_MENU_EDIT
Definition: shlobj.h:636

◆ OnMapNetworkDrive()

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

Definition at line 3935 of file shellbrowser.cpp.

3936{
3937#ifndef __REACTOS__
3939#endif /* __REACTOS__ */
3940 return 0;
3941}
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 4031 of file shellbrowser.cpp.

4032{
4033 CComPtr<IShellFolder> psfDesktop;
4034 LPITEMIDLIST pidlFavs;
4035 HRESULT hr = GetFavsLocation(m_hWnd, &pidlFavs);
4037 return 0;
4038
4039 hr = SHGetDesktopFolder(&psfDesktop);
4041 {
4042 ILFree(pidlFavs);
4043 return 0;
4044 }
4045
4046 hr = SHInvokeDefaultCommand(m_hWnd, psfDesktop, pidlFavs);
4047 ILFree(pidlFavs);
4049 return 0;
4050
4051 return 0;
4052}
HRESULT GetFavsLocation(HWND hWnd, LPITEMIDLIST *pPidl)
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
Definition: ordinal.c:3183

◆ OnRefresh()

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

Definition at line 4110 of file shellbrowser.cpp.

4111{
4114 fCurrentShellView->Refresh();
4115 return 0;
4116}
#define FCIDM_CABINET_REFRESH
Definition: shlobj_undoc.h:81

◆ OnSearch()

HRESULT CShellBrowser::OnSearch ( )

Definition at line 1968 of file shellbrowser.cpp.

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

◆ OnSetFocus() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSetFocus ( )
override

Implements IBrowserService2.

Definition at line 2879 of file shellbrowser.cpp.

2880{
2881 return E_NOTIMPL;
2882}

◆ OnSetFocus() [2/2]

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

Definition at line 3895 of file shellbrowser.cpp.

3896{
3898 return 0;
3899}
HWND SetFocus()
Definition: atlwin.h:1198

◆ OnSettingChange()

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

Definition at line 3908 of file shellbrowser.cpp.

3909{
3912 return 0;
3913}
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 4189 of file shellbrowser.cpp.

4190{
4191 /* Refresh child windows */
4193
4194 /* Refresh status bar */
4195 if (fStatusBar)
4196 {
4199 }
4200
4201 return 0;
4202}
_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 3825 of file shellbrowser.cpp.

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

◆ OnSize() [2/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSize ( WPARAM  wParam)
override

Implements IBrowserService2.

Definition at line 2853 of file shellbrowser.cpp.

2854{
2855 return E_NOTIMPL;
2856}

◆ OnSysColorChange()

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

Definition at line 3915 of file shellbrowser.cpp.

3916{
3918 return 0;
3919}

◆ OnToggleAddressBandVisible()

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

Definition at line 4078 of file shellbrowser.cpp.

4079{
4080 HRESULT hResult;
4081 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4082 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
4083 return 0;
4084}

◆ OnToggleExplorerBar()

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

Definition at line 4139 of file shellbrowser.cpp.

4140{
4141 UINT sbci = 0;
4142 switch (wID)
4143 {
4144 case IDM_EXPLORERBAR_SEARCH: sbci = 0x1c; break;
4145 case IDM_EXPLORERBAR_FAVORITES: sbci = 0x1e; break;
4146 case IDM_EXPLORERBAR_HISTORY: sbci = 0x1d; break;
4148 default: WARN("Unknown id %x\n", wID);
4149 }
4150 if (sbci)
4151 {
4152 this->Exec(&CGID_Explorer, sbci, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
4153 bHandled = TRUE;
4154 }
4155 return TRUE;
4156}
#define WARN(fmt,...)
Definition: precomp.h:61
STDMETHOD() Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
#define IDM_EXPLORERBAR_FOLDERS
Definition: resource.h:44
#define IDM_EXPLORERBAR_HISTORY
Definition: resource.h:43
@ OLECMDEXECOPT_DONTPROMPTUSER
Definition: docobj.idl:207

◆ OnToggleFullscreen()

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

Definition at line 4236 of file shellbrowser.cpp.

4237{
4238 const UINT OrgUiSetAuto = m_BrowserSvcFlags & BSF_UISETBYAUTOMATION;
4239 const BOOL fCurrentlyFullscreen = (m_BrowserSvcFlags & BSF_THEATERMODE);
4240 const BOOL fEnter = wID ? !fCurrentlyFullscreen : wNotifyCode;
4242 if (fEnter)
4243 {
4244 VARIANT_BOOL varb;
4245 m_NonFullscreenState = (m_BrowserSvcFlags & BSF_RESIZABLE) ? FSF_RESIZE : 0;
4246 m_NonFullscreenState |= (FAILED(get_MenuBar(&varb)) || varb) ? FSF_MBAR : 0;
4247 m_NonFullscreenState |= (FAILED(get_StatusBar(&varb)) || varb) ? FSF_SBAR : 0;
4249 SetFlags(BSF_THEATERMODE, BSF_THEATERMODE);
4250 put_MenuBar(VARIANT_FALSE);
4251 put_StatusBar(VARIANT_FALSE);
4257 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4258 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4260 }
4261 else
4262 {
4263 SetFlags(0, BSF_THEATERMODE);
4264 put_MenuBar((m_NonFullscreenState & FSF_MBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4265 put_StatusBar((m_NonFullscreenState & FSF_SBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4268 SHSetWindowBits(hWnd, GWL_STYLE, styles | WS_THICKFRAME, styles);
4273 }
4274 SetFlags(OrgUiSetAuto, BSF_UISETBYAUTOMATION);
4276 return 0;
4277}
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 4086 of file shellbrowser.cpp.

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

◆ OnToggleStatusBarVisible()

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

Definition at line 4054 of file shellbrowser.cpp.

4055{
4057 m_settings.Save();
4059 return 0;
4060}
#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 4094 of file shellbrowser.cpp.

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

◆ OnToggleToolbarBandVisible()

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

Definition at line 4070 of file shellbrowser.cpp.

4071{
4072 HRESULT hResult;
4073 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4074 CGID_PrivCITCommands, ITID_TOOLBARBANDSHOWN, 0, NULL, NULL);
4075 return 0;
4076}
#define ITID_TOOLBARBANDSHOWN
Definition: undocshell.h:930

◆ OnToggleToolbarLock()

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

Definition at line 4062 of file shellbrowser.cpp.

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

◆ OnToolbarCustomize()

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

Definition at line 4102 of file shellbrowser.cpp.

4103{
4104 HRESULT hResult;
4105 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
4106 CGID_PrivCITCommands, ITID_CUSTOMIZEENABLED, 0, NULL, NULL);
4107 return 0;
4108}
#define ITID_CUSTOMIZEENABLED
Definition: undocshell.h:935

◆ OnViewWindowActive()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnViewWindowActive ( IShellView ppshv)
override

Implements IShellBrowser.

Definition at line 2488 of file shellbrowser.cpp.

2489{
2490 return E_NOTIMPL;
2491}

◆ OpenNewBrowserWindow()

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

Definition at line 876 of file shellbrowser.cpp.

877{
878 SaveITBarLayout(); // Do this now so the new window inherits the current layout
879 // TODO: www.geoffchappell.com/studies/windows/ie/shdocvw/interfaces/inotifyappstart.htm
880 DWORD flags = (SbspFlags & SBSP_EXPLOREMODE) ? SH_EXPLORER_CMDLINE_FLAG_E : 0;
881 if ((SbspFlags & (SBSP_OPENMODE | SBSP_EXPLOREMODE)) == SBSP_DEFMODE)
883 LPITEMIDLIST pidlDir;
884 HRESULT hr = SHILClone(pidl, &pidlDir);
885 if (FAILED(hr))
886 return hr;
887 // TODO: !SBSP_NOTRANSFERHIST means we are supposed to pass the history here somehow?
889}
#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 3613 of file shellbrowser.cpp.

3614{
3615 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3616 HRESULT hr = ShowControlWindow(FCW_ADDRESSBAR, Value != VARIANT_FALSE);
3618 return hr;
3619}
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 3476 of file shellbrowser.cpp.

3477{
3478 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3479 SetFlags(bFullScreen ? BSF_ROS_KIOSK : 0, BSF_ROS_KIOSK);
3480 put_TheaterMode(bFullScreen);
3482 return S_OK;
3483}
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 3331 of file shellbrowser.cpp.

3332{
3333 return E_NOTIMPL;
3334}

◆ put_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Left ( long  Left)
override

Definition at line 3301 of file shellbrowser.cpp.

3302{
3303 return E_NOTIMPL;
3304}

◆ put_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_MenuBar ( VARIANT_BOOL  Value)
override

Definition at line 3462 of file shellbrowser.cpp.

3463{
3464 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3465 HRESULT hr = ShowControlWindow(FCW_MENU, Value != VARIANT_FALSE);
3467 return hr;
3468}
#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 3553 of file shellbrowser.cpp.

3554{
3555 return E_NOTIMPL;
3556}

◆ put_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsBrowser ( VARIANT_BOOL  bRegister)
override

Definition at line 3574 of file shellbrowser.cpp.

3575{
3576 if (!bRegister)
3577 return E_UNEXPECTED;
3579 return RegisterWindow(TRUE, SWC_3RDPARTY);
3580}
STDMETHOD() RegisterWindow(BOOL fForceRegister, int swc) override

◆ put_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsDropTarget ( VARIANT_BOOL  bRegister)
override

Definition at line 3588 of file shellbrowser.cpp.

3589{
3590 SetFlags(bRegister ? BSF_REGISTERASDROPTARGET : 0, BSF_REGISTERASDROPTARGET);
3591 return S_OK;
3592}

◆ put_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Resizable ( VARIANT_BOOL  Value)
override

Definition at line 3627 of file shellbrowser.cpp.

3628{
3629 SetFlags(Value ? (BSF_RESIZABLE | BSF_CANMAXIMIZE) : 0, (BSF_RESIZABLE | BSF_CANMAXIMIZE));
3630 return S_OK;
3631}

◆ put_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Silent ( VARIANT_BOOL  bSilent)
override

Definition at line 3563 of file shellbrowser.cpp.

3564{
3565 return E_NOTIMPL;
3566}

◆ put_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusBar ( VARIANT_BOOL  Value)
override

Definition at line 3420 of file shellbrowser.cpp.

3421{
3422 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3423 HRESULT hr = ShowControlWindow(FCW_STATUS, Value != VARIANT_FALSE);
3425 return hr;
3426}
#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 3433 of file shellbrowser.cpp.

3434{
3435 SendControlMsg(FCW_STATUS, SB_SETTEXTW, 0, (LPARAM)StatusText, NULL);
3436 return S_OK;
3437}
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 3600 of file shellbrowser.cpp.

3601{
3602 BOOL handled;
3603 OnToggleFullscreen(bRegister, 0, NULL, handled);
3604 return S_OK;
3605}
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 3447 of file shellbrowser.cpp.

3448{
3449 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3450 ShowControlWindow(FCW_INTERNETBAR, Value != VARIANT_FALSE && Value != FCW_TOOLBAR);
3451 ShowControlWindow(FCW_TOOLBAR, Value == FCW_TOOLBAR);
3453 return S_OK;
3454}
#define DISPID_ONTOOLBAR
Definition: webchild.h:57

◆ put_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Top ( long  Top)
override

Definition at line 3311 of file shellbrowser.cpp.

3312{
3313 return E_NOTIMPL;
3314}

◆ put_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Visible ( VARIANT_BOOL  Value)
override

Definition at line 3402 of file shellbrowser.cpp.

3403{
3405 {
3407 if (Value)
3410 }
3411 return S_OK;
3412}
#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 3321 of file shellbrowser.cpp.

3322{
3323 return E_NOTIMPL;
3324}

◆ PutProperty()

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

Definition at line 3364 of file shellbrowser.cpp.

3365{
3366 return E_NOTIMPL;
3367}

◆ QueryActiveShellView()

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

Implements IShellBrowser.

Definition at line 2475 of file shellbrowser.cpp.

2476{
2477 if (ppshv == NULL)
2478 return E_POINTER;
2479 *ppshv = fCurrentShellView;
2480 if (fCurrentShellView.p != NULL)
2481 {
2483 return S_OK;
2484 }
2485 return E_FAIL;
2486}

◆ QueryService()

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

Implements IServiceProvider.

Definition at line 2520 of file shellbrowser.cpp.

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

◆ QueryStatus()

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

Implements IOleCommandTarget.

Definition at line 2061 of file shellbrowser.cpp.

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

3511{
3512 OLECMD cmd = { (ULONG)cmdID, (DWORD)(*pcmdf) };
3513 HRESULT hr = QueryStatus(NULL, 1, &cmd, NULL);
3514 *pcmdf = (OLECMDF)cmd.cmdf;
3515 return hr;
3516}

◆ Quit()

HRESULT STDMETHODCALLTYPE CShellBrowser::Quit ( )
override

Definition at line 3353 of file shellbrowser.cpp.

3354{
3356 return S_OK;
3357}
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

◆ Refresh()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh ( )
override

Definition at line 3239 of file shellbrowser.cpp.

3240{
3241 VARIANT level;
3242
3243 V_VT(&level) = VT_I4;
3244 V_I4(&level) = 4;
3245 return Refresh2(&level);
3246}
STDMETHOD() Refresh2(VARIANT *Level) override
GLint level
Definition: gl.h:1546

◆ Refresh2()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh2 ( VARIANT Level)
override

Definition at line 3248 of file shellbrowser.cpp.

3249{
3250 CComPtr<IOleCommandTarget> oleCommandTarget;
3251 HRESULT hResult;
3252
3253 hResult = fCurrentShellView->QueryInterface(IID_PPV_ARG(IOleCommandTarget, &oleCommandTarget));
3254 if (FAILED_UNEXPECTEDLY(hResult))
3255 return hResult;
3256 return oleCommandTarget->Exec(NULL, 22, 1, Level, NULL);
3257}
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56

Referenced by Refresh().

◆ RefreshCabinetState()

void CShellBrowser::RefreshCabinetState ( )

Definition at line 4304 of file shellbrowser.cpp.

4305{
4308}

Referenced by OnCabinetStateChange(), and OnSettingChange().

◆ RegisterWindow()

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

Implements IBrowserService.

Definition at line 2827 of file shellbrowser.cpp.

2828{
2829 return E_NOTIMPL;
2830}

Referenced by put_RegisterAsBrowser().

◆ RelayCommands()

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

Definition at line 4158 of file shellbrowser.cpp.

4159{
4161 switch (LOWORD(wParam))
4162 {
4165 break;
4170 BrowseObject(pidl, SBSP_ABSOLUTE | SBSP_SAMEBROWSER | SBSP_ACTIVATE_NOFOCUS);
4171 return 0;
4172#if 0 // TODO: Toggle entire itbar(rebar) after LPTOOLBARITEM->fShow support is added
4174 break;
4175#endif
4176 }
4177
4180 return 0;
4181}
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
Definition: shellpath.c:3384
LRESULT OnCommand([in] WPARAM wParam, [in] LPARAM lParam)
#define LOWORD(l)
Definition: pedump.c:82
#define CSIDL_DRIVES
Definition: shlobj.h:2195
#define FCIDM_SHVIEWLAST
Definition: shlobj.h:619
#define FCIDM_SHBROWSER_REFRESH
Definition: shlobj_undoc.h:73
#define FCIDM_SHBROWSER_FINDFILES
Definition: shlobj_undoc.h:76
#define FCIDM_CABINET_NT5_GOTO_DRIVES
Definition: shlobj_undoc.h:78
#define FCIDM_CABINET_TOGGLEITBAR
Definition: shlobj_undoc.h:79
#define FCIDM_SHVIEW_REFRESH
Definition: shresdef.h:897
#define HIWORD(l)
Definition: typedefs.h:247

◆ RelayMsgToShellView()

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

Definition at line 3901 of file shellbrowser.cpp.

3902{
3905 return 0;
3906}

Referenced by OnInitMenuPopup().

◆ ReleaseShellView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ReleaseShellView ( )
override

Implements IBrowserService2.

Definition at line 2889 of file shellbrowser.cpp.

2890{
2891 return E_NOTIMPL;
2892}

◆ RemoveMenusSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::RemoveMenusSB ( HMENU  hmenuShared)
override

Implements IShellBrowser.

Definition at line 2346 of file shellbrowser.cpp.

2347{
2348 if (hmenuShared == fCurrentMenuBar)
2349 {
2350 //DestroyMenu(fCurrentMenuBar);
2352 }
2353 return S_OK;
2354}
STDMETHOD() SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) override

◆ RepositionBars()

void CShellBrowser::RepositionBars ( )

Definition at line 1555 of file shellbrowser.cpp.

1556{
1557 RECT clientRect;
1558 RECT statusRect;
1559 int x;
1560
1561 GetClientRect(&clientRect);
1562
1564 {
1565 ::GetWindowRect(fStatusBar, &statusRect);
1566 ::SetWindowPos(fStatusBar, NULL, clientRect.left, clientRect.bottom - (statusRect.bottom - statusRect.top),
1567 clientRect.right - clientRect.left,
1568 statusRect.bottom - statusRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1569 clientRect.bottom -= statusRect.bottom - statusRect.top;
1570 }
1571
1572 for (x = 0; x < 3; x++)
1573 {
1575 RECT borderSpace = fClientBars[x].borderSpace;
1576 if (hwnd == NULL && fClientBars[x].clientBar != NULL)
1577 {
1578 IUnknown_GetWindow(fClientBars[x].clientBar, &hwnd);
1580 }
1581 if (hwnd != NULL)
1582 {
1583 RECT toolbarRect = clientRect;
1584 if (borderSpace.top != 0)
1585 {
1586 toolbarRect.bottom = toolbarRect.top + borderSpace.top;
1587 }
1588 else if (borderSpace.bottom != 0)
1589 {
1590 toolbarRect.top = toolbarRect.bottom - borderSpace.bottom;
1591 }
1592 else if (borderSpace.left != 0)
1593 {
1594 toolbarRect.right = toolbarRect.left + borderSpace.left;
1595 }
1596 else if (borderSpace.right != 0)
1597 {
1598 toolbarRect.left = toolbarRect.right - borderSpace.right;
1599 }
1600
1602 toolbarRect.left,
1603 toolbarRect.top,
1604 toolbarRect.right - toolbarRect.left,
1605 toolbarRect.bottom - toolbarRect.top,
1607
1608 if (borderSpace.top != 0)
1609 {
1610 clientRect.top = toolbarRect.bottom;
1611 }
1612 else if (borderSpace.bottom != 0)
1613 {
1614 clientRect.bottom = toolbarRect.top;
1615 }
1616 else if (borderSpace.left != 0)
1617 {
1618 clientRect.left = toolbarRect.right;
1619 }
1620 else if (borderSpace.right != 0)
1621 {
1622 clientRect.right = toolbarRect.left;
1623 }
1624 }
1625 }
1626
1628 return;
1629
1630 ::SetWindowPos(fCurrentShellViewWindow, NULL, clientRect.left, clientRect.top,
1631 clientRect.right - clientRect.left,
1632 clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1633}
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 2041 of file shellbrowser.cpp.

2042{
2043 return S_OK;
2044}

◆ SaveHistory()

HRESULT STDMETHODCALLTYPE CShellBrowser::SaveHistory ( IStream pStream)
override

Implements IPersistHistory.

Definition at line 3707 of file shellbrowser.cpp.

3708{
3709 CComPtr<IPersistHistory> viewPersistHistory;
3710 persistState newState;
3711 HRESULT hResult;
3712
3713 hResult = fCurrentShellView->GetItemObject(
3714 SVGIO_BACKGROUND, IID_PPV_ARG(IPersistHistory, &viewPersistHistory));
3715 memset(&newState, 0, sizeof(newState));
3716 newState.dwSize = sizeof(newState);
3717 newState.browseType = 2;
3718 newState.browserIndex = GetBrowserIndex();
3719 if (viewPersistHistory.p != NULL)
3720 {
3721 hResult = viewPersistHistory->GetClassID(&newState.persistClass);
3722 if (FAILED_UNEXPECTEDLY(hResult))
3723 return hResult;
3724 }
3726 hResult = pStream->Write(&newState, sizeof(newState), NULL);
3727 if (FAILED_UNEXPECTEDLY(hResult))
3728 return hResult;
3729 hResult = pStream->Write(fCurrentDirectoryPIDL, newState.pidlSize, NULL);
3730 if (FAILED_UNEXPECTEDLY(hResult))
3731 return hResult;
3732 if (viewPersistHistory.p != NULL)
3733 {
3734 hResult = viewPersistHistory->SaveHistory(pStream);
3735 if (FAILED_UNEXPECTEDLY(hResult))
3736 return hResult;
3737 }
3738 return S_OK;
3739}
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 4322 of file shellbrowser.cpp.

4323{
4324 if (!gCabinetState.fSaveLocalView || (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_UISETBYAUTOMATION)))
4325 return;
4326#if 0 // If CDesktopBrowser aggregates us, skip saving
4328 if (fCurrentShellView && SUCCEEDED(fCurrentShellView->GetCurrentInfo(&fs)) && (fs.fFlags & FWF_DESKTOP))
4329 return;
4330#endif
4331
4333 CComPtr<IStream> pITBarStream;
4334 if (!fClientBars[BIInternetToolbar].clientBar.p)
4335 return;
4337 if (FAILED(hr))
4338 return;
4340 return;
4341 pPSI->Save(pITBarStream, TRUE);
4342}
#define STGM_WRITE
Definition: objbase.h:918
@ FWF_DESKTOP
Definition: shobjidl.idl:647
BOOL fSaveLocalView
Definition: shlobj.h:2394
Definition: ffs.h:70

Referenced by Exec(), and OpenNewBrowserWindow().

◆ SaveViewState()

void CShellBrowser::SaveViewState ( )

Definition at line 1018 of file shellbrowser.cpp.

1019{
1020 // TODO: Also respect EBO_NOPERSISTVIEWSTATE?
1022 fCurrentShellView->SaveViewState();
1023}
@ REST_NOSAVESET
Definition: shlobj.h:1650
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 2452 of file shellbrowser.cpp.

2454{
2455 LPARAM result;
2456
2457 if (pret != NULL)
2458 *pret = 0;
2459 switch (id)
2460 {
2461 case FCW_TOOLBAR:
2463 if (pret != NULL)
2464 *pret = result;
2465 break;
2466 case FCW_STATUS:
2468 if (pret != NULL)
2469 *pret = result;
2470 break;
2471 }
2472 return S_OK;
2473}
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 3098 of file shellbrowser.cpp.

3099{
3100 return E_NOTIMPL;
3101}

◆ SetActivateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetActivateState ( UINT  u)
override

Implements IBrowserService2.

Definition at line 2946 of file shellbrowser.cpp.

2947{
2948 return E_NOTIMPL;
2949}

◆ SetAsDefFolderSettings()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAsDefFolderSettings ( )
override

Implements IBrowserService2.

Definition at line 2837 of file shellbrowser.cpp.

2838{
2839 HRESULT hr = E_FAIL;
2841 {
2844 }
2845 return hr;
2846}
#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:115

◆ SetBorderSpaceDW()

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

Definition at line 2046 of file shellbrowser.cpp.

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

◆ SetFlags()

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

Implements IBrowserService.

Definition at line 2742 of file shellbrowser.cpp.

2743{
2744 m_BrowserSvcFlags = (m_BrowserSvcFlags & ~dwFlagMask) | (dwFlags & dwFlagMask);
2745 return S_OK;
2746}
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

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

2802{
2803 return E_NOTIMPL;
2804}

◆ SetMenuSB()

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

Implements IShellBrowser.

Definition at line 2316 of file shellbrowser.cpp.

2317{
2318 CComPtr<IShellMenu> shellMenu;
2319 HRESULT hResult;
2320
2321 if (hmenuShared && IsMenu(hmenuShared) == FALSE)
2322 return E_FAIL;
2323 hResult = GetMenuBand(IID_PPV_ARG(IShellMenu, &shellMenu));
2324 if (FAILED_UNEXPECTEDLY(hResult))
2325 return hResult;
2326
2327 if (!hmenuShared)
2328 {
2329 hmenuShared = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2330 }
2331 // FIXME: Figure out the proper way to do this.
2332 HMENU hMenuFavs = GetSubMenu(hmenuShared, 3);
2333 if (hMenuFavs)
2334 {
2336 }
2337
2338 hResult = shellMenu->SetMenu(hmenuShared, m_hWnd, SMSET_DONTOWN);
2339 if (FAILED_UNEXPECTEDLY(hResult))
2340 return hResult;
2341 fCurrentMenuBar = hmenuShared;
2343 return S_OK;
2344}
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 2717 of file shellbrowser.cpp.

2718{
2719 return E_NOTIMPL;
2720}

◆ SetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetPositionCookie ( DWORD  dwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3741 of file shellbrowser.cpp.

3742{
3743 return E_NOTIMPL;
3744}

◆ SetReferrer()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetReferrer ( LPCITEMIDLIST  pidl)
override

Definition at line 2765 of file shellbrowser.cpp.

2766{
2767 return E_NOTIMPL;
2768}

◆ SetStatusTextSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetStatusTextSB ( LPCOLESTR  pszStatusText)
override

Implements IShellBrowser.

Definition at line 2356 of file shellbrowser.cpp.

2357{
2358 //
2359 if (pszStatusText)
2360 {
2361 ::SetWindowText(fStatusBar, pszStatusText);
2362 }
2363 else
2364 {
2365
2366 }
2367 return S_OK;
2368}
#define SetWindowText
Definition: winuser.h:5968

◆ SetTitle()

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

Implements IBrowserService.

Definition at line 2597 of file shellbrowser.cpp.

2598{
2599 return E_NOTIMPL;
2600}

◆ SetToolbarItems()

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

Definition at line 2493 of file shellbrowser.cpp.

2494{
2495 return E_NOTIMPL;
2496}

◆ SetTopBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetTopBrowser ( )
override

Implements IBrowserService2.

Definition at line 2930 of file shellbrowser.cpp.

2931{
2932 SetFlags(BSF_TOPBROWSER, BSF_TOPBROWSER);
2933 return S_OK;
2934}

Referenced by CShellBrowser().

◆ ShowBand()

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

Definition at line 1327 of file shellbrowser.cpp.

1328{
1329 CComPtr<IDockingWindow> dockingWindow;
1330 CComPtr<IUnknown> baseBarSite;
1331 CComPtr<IUnknown> newBand;
1332 CComPtr<IDeskBar> deskBar;
1333 VARIANT vaIn;
1334 HRESULT hResult;
1335 DWORD dwBandID;
1336
1337 hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar));
1338 if (FAILED_UNEXPECTEDLY(hResult))
1339 return hResult;
1340
1341 hResult = deskBar->GetClient(&baseBarSite);
1342 if (FAILED_UNEXPECTEDLY(hResult))
1343 return hResult;
1344
1345 hResult = deskBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &dockingWindow));
1346 if (FAILED_UNEXPECTEDLY(hResult))
1347 return hResult;
1348
1349 if (!IsBandLoaded(classID, vertical, &dwBandID))
1350 {
1351 TRACE("ShowBand called for CLSID %s, vertical=%d...\n", wine_dbgstr_guid(&classID), vertical);
1352 if (IsEqualCLSID(CLSID_ExplorerBand, classID))
1353 {
1354 TRACE("CLSID_ExplorerBand requested, building internal band.\n");
1356 if (FAILED_UNEXPECTEDLY(hResult))
1357 return hResult;
1358 }
1359 else if (IsEqualCLSID(classID, CLSID_FileSearchBand))
1360 {
1361 TRACE("CLSID_FileSearchBand requested, building internal band.\n");
1362 hResult = CSearchBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBand));
1363 if (FAILED_UNEXPECTEDLY(hResult))
1364 return hResult;
1365 }
1366 else
1367 {
1368 TRACE("A different CLSID requested, using CoCreateInstance.\n");
1369 hResult = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, &newBand));
1370 if (FAILED_UNEXPECTEDLY(hResult))
1371 return hResult;
1372 }
1373 }
1374 else
1375 {
1376 CComPtr<IBandSite> pBandSite;
1377
1378 hResult = baseBarSite->QueryInterface(IID_PPV_ARG(IBandSite, &pBandSite));
1379 if (!SUCCEEDED(hResult))
1380 {
1381 ERR("Can't get IBandSite interface\n");
1382 return E_FAIL;
1383 }
1384 hResult = pBandSite->GetBandObject(dwBandID, IID_PPV_ARG(IUnknown, &newBand));
1385 if (!SUCCEEDED(hResult))
1386 {
1387 ERR("Can't find band object\n");
1388 return E_FAIL;
1389 }
1390
1391 // It's hackish, but we should be able to show the wanted band until we
1392 // find the proper way to do this (but it seems to work to add a new band)
1393 // Here we'll just re-add the existing band to the site, causing it to display.
1394 }
1395 V_VT(&vaIn) = VT_UNKNOWN;
1396 V_UNKNOWN(&vaIn) = newBand.p;
1397 hResult = IUnknown_Exec(baseBarSite, CGID_IDeskBand, 1, 1, &vaIn, NULL);
1398 if (FAILED_UNEXPECTEDLY(hResult))
1399 {
1400 return hResult;
1401 }
1402
1403 hResult = dockingWindow->ShowDW(TRUE);
1404 if (FAILED_UNEXPECTEDLY(hResult))
1405 return hResult;
1406
1407 if (vertical)
1408 {
1409 fCurrentVertBar = classID;
1411 }
1412
1413 return S_OK;
1414}
#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 3529 of file shellbrowser.cpp.

3530{
3531 CLSID classID;
3532 bool vertical;
3533
3534 // called to show search bar
3535 if (V_VT(pvaClsid) != VT_BSTR)
3536 return E_INVALIDARG;
3537 CLSIDFromString(V_BSTR(pvaClsid), &classID);
3538 // TODO: properly compute the value of vertical
3539 vertical = true;
3540 return ShowBand(classID, vertical);
3541}
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 2632 of file shellbrowser.cpp.

2633{
2634 BOOL shown;
2635 if (FAILED(IsControlWindowShown(id, &shown)))
2636 return E_NOTIMPL;
2637 else if (!shown == !fShow) // Negated for true boolean comparison
2638 return S_OK;
2639 else switch (id)
2640 {
2641 case FCW_STATUS:
2642 OnToggleStatusBarVisible(0, 0, NULL, shown);
2643 return S_OK;
2644 case FCW_TREE:
2645 return Exec(&CGID_Explorer, SBCMDID_EXPLORERBARFOLDERS, 0, NULL, NULL);
2646 case FCW_MENU:
2648 CGID_PrivCITCommands, ITID_MENUBANDSHOWN, 0, NULL, NULL);
2649 case FCW_ADDRESSBAR:
2651 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
2652 }
2653 return E_NOTIMPL;
2654}
LRESULT OnToggleStatusBarVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)

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

3260{
3261 return E_NOTIMPL;
3262}

◆ TranslateAcceleratorSB()

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

Implements IShellBrowser.

Definition at line 2375 of file shellbrowser.cpp.

2376{
2378 return S_FALSE;
2379 return S_OK;
2380}
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)

◆ UpdateBackForwardState()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateBackForwardState ( )
override

Implements IBrowserService.

Definition at line 2737 of file shellbrowser.cpp.

2738{
2739 return E_NOTIMPL;
2740}

◆ UpdateForwardBackState()

HRESULT CShellBrowser::UpdateForwardBackState ( )

Definition at line 1717 of file shellbrowser.cpp.

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

Referenced by BrowseToPath().

◆ UpdateGotoMenu()

void CShellBrowser::UpdateGotoMenu ( HMENU  theMenu)

Definition at line 1754 of file shellbrowser.cpp.

1755{
1756 CComPtr<ITravelLog> travelLog;
1757 CComPtr<ITravelEntry> unusedEntry;
1758 int position;
1759 MENUITEMINFO menuItemInfo;
1760 HRESULT hResult;
1761
1763
1764 position = GetMenuItemCount(theMenu);
1765 hResult = GetTravelLog(&travelLog);
1766 if (FAILED_UNEXPECTEDLY(hResult))
1767 return;
1768
1769 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1770 TLOG_BACK,
1771 &unusedEntry);
1772
1773 if (SUCCEEDED(hResult))
1774 {
1776 unusedEntry.Release();
1777 }
1778 else
1780
1781 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1782 TLOG_FORE,
1783 &unusedEntry);
1784
1785 if (SUCCEEDED(hResult))
1786 {
1788 unusedEntry.Release();
1789 }
1790 else
1792
1793 SHEnableMenuItem(theMenu,
1796
1797 hResult = travelLog->InsertMenuEntries(static_cast<IDropTarget *>(this), theMenu, position,
1799 if (SUCCEEDED(hResult))
1800 {
1801 menuItemInfo.cbSize = sizeof(menuItemInfo);
1802 menuItemInfo.fMask = MIIM_TYPE | MIIM_ID;
1803 menuItemInfo.fType = MF_SEPARATOR;
1804 menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP;
1805 InsertMenuItem(theMenu, position, TRUE, &menuItemInfo);
1806 }
1807}
#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:2750
#define TLMENUF_CHECKCURRENT
Definition: shlobj.h:2747
#define MIIM_ID
Definition: winuser.h:733
#define InsertMenuItem
Definition: winuser.h:5915
#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 2951 of file shellbrowser.cpp.

2952{
2953 return E_NOTIMPL;
2954}

◆ UpdateUpState()

HRESULT CShellBrowser::UpdateUpState ( )

Definition at line 1747 of file shellbrowser.cpp.

1748{
1749 bool canGoUp = !_ILIsDesktop(fCurrentDirectoryPIDL);
1750 FireCommandStateChange(canGoUp, 3);
1751 return S_OK;
1752}

Referenced by BrowseToPath().

◆ UpdateViewMenu()

void CShellBrowser::UpdateViewMenu ( HMENU  theMenu)

Definition at line 1809 of file shellbrowser.cpp.

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

Referenced by OnInitMenuPopup().

◆ UpdateWindowList()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateWindowList ( )
override

Implements IBrowserService.

Definition at line 2732 of file shellbrowser.cpp.

2733{
2734 return E_NOTIMPL;
2735}

◆ UpdateWindowTitle()

void CShellBrowser::UpdateWindowTitle ( )

Definition at line 4310 of file shellbrowser.cpp.

4311{
4313 SHGDNF flags = SHGDN_FORADDRESSBAR;
4314
4316 flags |= SHGDN_FORPARSING;
4317
4320}
static char title[]
Definition: ps.c:92
#define _countof(array)
Definition: sndvol32.h:70
BOOL fFullPathTitle
Definition: shlobj.h:2393

Referenced by BrowseToPath(), and RefreshCabinetState().

◆ v_CheckZoneCrossing()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_CheckZoneCrossing ( LPCITEMIDLIST  pidl)
override

Definition at line 3168 of file shellbrowser.cpp.

3169{
3170 return E_NOTIMPL;
3171}

◆ v_MayGetNextToolbarFocus()

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

Implements IBrowserService2.

Definition at line 3128 of file shellbrowser.cpp.

3130{
3131 return E_NOTIMPL;
3132}

◆ v_MayTranslateAccelerator()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayTranslateAccelerator ( MSG pmsg)
override

Implements IBrowserService2.

Definition at line 3149 of file shellbrowser.cpp.

3150{
3151 for (int i = 0; i < 3; i++)
3152 {
3153 if (IUnknown_TranslateAcceleratorIO(fClientBars[i].clientBar, pmsg) == S_OK)
3154 return S_OK;
3155 }
3156
3157 if (!fCurrentShellView)
3158 return S_FALSE;
3159
3160 return fCurrentShellView->TranslateAcceleratorW(pmsg);
3161}
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
Definition: ordinal.c:4436

◆ v_ShowHideChildWindows()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_ShowHideChildWindows ( BOOL  fChildOnly)
override

Implements IBrowserService2.

Definition at line 3043 of file shellbrowser.cpp.

3044{
3045 return E_NOTIMPL;
3046}

◆ WindowProc()

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

Definition at line 1500 of file shellbrowser.cpp.

1501{
1502 CShellBrowser *pThis = reinterpret_cast<CShellBrowser *>(hWnd);
1503 _ATL_MSG msg(pThis->m_hWnd, uMsg, wParam, lParam);
1504 LRESULT lResult;
1505 const _ATL_MSG *previousMessage;
1506 BOOL handled;
1507 WNDPROC saveWindowProc;
1508 HRESULT hResult;
1509
1510 hWnd = pThis->m_hWnd;
1511 previousMessage = pThis->m_pCurrentMsg;
1512 pThis->m_pCurrentMsg = &msg;
1513
1514 /* If the shell browser is initialized, let the menu band preprocess the messages */
1515 if (pThis->fCurrentDirectoryPIDL)
1516 {
1517 CComPtr<IMenuBand> menuBand;
1518 hResult = pThis->GetMenuBand(IID_PPV_ARG(IMenuBand, &menuBand));
1519 if (SUCCEEDED(hResult) && menuBand.p != NULL)
1520 {
1521 hResult = menuBand->TranslateMenuMessage(&msg, &lResult);
1522 if (hResult == S_OK)
1523 return lResult;
1524 uMsg = msg.message;
1525 wParam = msg.wParam;
1526 lParam = msg.lParam;
1527 }
1528 }
1529
1530 handled = pThis->ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult, 0);
1531 ATLASSERT(pThis->m_pCurrentMsg == &msg);
1532 if (handled == FALSE)
1533 {
1534 if (uMsg == WM_NCDESTROY)
1535 {
1536 saveWindowProc = reinterpret_cast<WNDPROC>(::GetWindowLongPtr(hWnd, GWLP_WNDPROC));
1537 lResult = pThis->DefWindowProc(uMsg, wParam, lParam);
1538 if (saveWindowProc == reinterpret_cast<WNDPROC>(::GetWindowLongPtr(hWnd, GWLP_WNDPROC)))
1540 pThis->m_dwState |= WINSTATE_DESTROYED;
1541 }
1542 else
1543 lResult = pThis->DefWindowProc(uMsg, wParam, lParam);
1544 }
1545 pThis->m_pCurrentMsg = previousMessage;
1546 if (previousMessage == NULL && (pThis->m_dwState & WINSTATE_DESTROYED) != 0)
1547 {
1548 pThis->m_dwState &= ~WINSTATE_DESTROYED;
1549 pThis->m_hWnd = NULL;
1550 pThis->OnFinalMessage(hWnd);
1551 }
1552 return lResult;
1553}
#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:1712
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:3008

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: