ReactOS 0.4.16-dev-1537-g4e425b5
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 2966 of file shellbrowser.cpp.

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

◆ _CancelPendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView ( )
override

Implements IBrowserService2.

Definition at line 2971 of file shellbrowser.cpp.

2972{
2973 return E_NOTIMPL;
2974}

◆ _CloseAndReleaseToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars ( BOOL  fClose)
override

Implements IBrowserService2.

Definition at line 3118 of file shellbrowser.cpp.

3119{
3120 return E_NOTIMPL;
3121}

◆ _DisableModeless()

HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless ( )
override

Implements IBrowserService2.

Definition at line 2986 of file shellbrowser.cpp.

2987{
2988 return E_NOTIMPL;
2989}

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

3018{
3019 return E_NOTIMPL;
3020}

◆ _GetBorderDWHelper()

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

Implements IBrowserService2.

Definition at line 3158 of file shellbrowser.cpp.

3159{
3160 return E_NOTIMPL;
3161}

◆ _GetEffectiveClientArea()

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

Implements IBrowserService2.

Definition at line 3078 of file shellbrowser.cpp.

3079{
3080 return E_NOTIMPL;
3081}

◆ _GetViewBorderRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 3058 of file shellbrowser.cpp.

3059{
3060 return E_NOTIMPL;
3061}

◆ _Initialize()

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

Implements IBrowserService2.

Definition at line 2961 of file shellbrowser.cpp.

2962{
2963 return E_NOTIMPL;
2964}

◆ _LoadToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3113 of file shellbrowser.cpp.

3114{
3115 return E_NOTIMPL;
3116}

◆ _MaySaveChanges()

HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges ( )
override

Implements IBrowserService2.

Definition at line 2976 of file shellbrowser.cpp.

2977{
2978 return E_NOTIMPL;
2979}

◆ _NavigateToPidl()

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

Definition at line 2991 of file shellbrowser.cpp.

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

3034{
3035 return E_NOTIMPL;
3036}

◆ _PauseOrResumeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView ( BOOL  fPaused)
override

Implements IBrowserService2.

Definition at line 2981 of file shellbrowser.cpp.

2982{
2983 return E_NOTIMPL;
2984}

◆ _put_itbLastFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus ( UINT  itbLastFocus)
override

Implements IBrowserService2.

Definition at line 3048 of file shellbrowser.cpp.

3049{
3050 return E_NOTIMPL;
3051}

◆ _ResizeNextBorder()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3068 of file shellbrowser.cpp.

3069{
3070 return E_NOTIMPL;
3071}

◆ _ResizeNextBorderHelper()

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

Implements IBrowserService2.

Definition at line 3129 of file shellbrowser.cpp.

3130{
3131 return E_NOTIMPL;
3132}

◆ _ResizeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView ( )
override

Implements IBrowserService2.

Definition at line 3073 of file shellbrowser.cpp.

3074{
3075 return E_NOTIMPL;
3076}

◆ _SaveToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3108 of file shellbrowser.cpp.

3109{
3110 return E_NOTIMPL;
3111}

◆ _SendChildren()

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

Implements IBrowserService2.

Definition at line 3022 of file shellbrowser.cpp.

3024{
3025 return E_NOTIMPL;
3026}

◆ _SetFocus()

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

Implements IBrowserService2.

Definition at line 3139 of file shellbrowser.cpp.

3140{
3141 return E_NOTIMPL;
3142}

◆ _SwitchActivationNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow ( )
override

Implements IBrowserService2.

Definition at line 3011 of file shellbrowser.cpp.

3012{
3013 return E_NOTIMPL;
3014}

◆ _TryShell2Rename()

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

Definition at line 3006 of file shellbrowser.cpp.

3007{
3008 return E_NOTIMPL;
3009}

◆ _UIActivateView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView ( UINT  uState)
override

Implements IBrowserService2.

Definition at line 3053 of file shellbrowser.cpp.

3054{
3055 return E_NOTIMPL;
3056}

◆ _UpdateViewRectSize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize ( )
override

Implements IBrowserService2.

Definition at line 3063 of file shellbrowser.cpp.

3064{
3065 return E_NOTIMPL;
3066}

◆ ActivatePendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView ( )
override

Implements IBrowserService2.

Definition at line 2889 of file shellbrowser.cpp.

2890{
2891 return E_NOTIMPL;
2892}

◆ AllowViewResize()

HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize ( BOOL  f)
override

Implements IBrowserService2.

Definition at line 2936 of file shellbrowser.cpp.

2937{
2938 return E_NOTIMPL;
2939}

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

2378{
2380 // FIXME: Should not automatically show the Explorer band
2381 if ((wFlags & SBSP_EXPLOREMODE) && !(wFlags & SBSP_NEWBROWSER))
2382 ShowBand(CLSID_ExplorerBand, true);
2383
2384 CComHeapPtr<ITEMIDLIST> pidlResolved;
2385 if (wFlags & (SBSP_RELATIVE | SBSP_PARENT))
2386 {
2387 HRESULT hr = CreateRelativeBrowsePIDL(pidl, wFlags, &pidlResolved);
2388 if (FAILED(hr))
2389 return hr;
2390 pidl = pidlResolved;
2391 }
2392
2393 if (wFlags & SBSP_NEWBROWSER)
2394 return OpenNewBrowserWindow(pidl, wFlags);
2395
2396 switch (wFlags & (SBSP_ABSOLUTE | SBSP_RELATIVE | SBSP_PARENT | SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
2397 {
2398 case SBSP_PARENT:
2399 return NavigateToParent();
2400 case SBSP_NAVIGATEBACK:
2401 return GoBack();
2402 case SBSP_NAVIGATEFORWARD:
2403 return GoForward();
2404 }
2405
2406 // TODO: SBSP_WRITENOHISTORY? SBSP_CREATENOHISTORY?
2408 if (fTravelLog)
2410 if (wFlags & SBSP_ACTIVATE_NOFOCUS)
2412 return BrowseToPIDL(pidl, flags);
2413}
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 1034 of file shellbrowser.cpp.

1036{
1037 CComPtr<IShellFolder> saveCurrentShellFolder;
1038 CComPtr<IShellView> saveCurrentShellView;
1039 CComPtr<IShellView> newShellView;
1040 CComPtr<ITravelLog> travelLog;
1041 HWND newShellViewWindow;
1042 BOOL windowUpdateIsLocked;
1043 RECT shellViewWindowBounds;
1044 HWND previousView;
1045 HCURSOR saveCursor;
1046 wchar_t newTitle[MAX_PATH];
1047 SHGDNF nameFlags;
1048 HRESULT hResult;
1049 //TODO: BOOL nohistory = m_BrowserSvcFlags & BSF_NAVNOHISTORY;
1050
1051 if (m_Destroyed)
1052 return S_FALSE;
1053
1054 if (newShellFolder == NULL)
1055 return E_INVALIDARG;
1056
1057 hResult = GetTravelLog(&travelLog);
1058 if (FAILED_UNEXPECTEDLY(hResult))
1059 return hResult;
1060
1061 if (FAILED_UNEXPECTEDLY(hResult = SHILClone(absolutePIDL, &absolutePIDL)))
1062 return hResult;
1063 CComHeapPtr<ITEMIDLIST> pidlAbsoluteClone(const_cast<LPITEMIDLIST>(absolutePIDL));
1064
1065 // update history
1067 {
1068 if (travelLog->CountEntries(static_cast<IDropTarget *>(this)) > 0)
1069 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1070 // what to do with error? Do we want to halt browse because state save failed?
1071 }
1072
1074 {
1075 SaveViewState();
1076 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
1077 }
1078
1079 // create view object
1080 hResult = newShellFolder->CreateViewObject(m_hWnd, IID_PPV_ARG(IShellView, &newShellView));
1081 if (FAILED_UNEXPECTEDLY(hResult))
1082 return hResult;
1083 previousView = fCurrentShellViewWindow;
1084
1085 // enter updating section
1086 saveCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
1087 windowUpdateIsLocked = LockWindowUpdate(TRUE);
1088 if (fCurrentShellView != NULL)
1090
1091 // set site
1092 hResult = IUnknown_SetSite(newShellView, static_cast<IDropTarget *>(this));
1093
1094 // update folder and view
1095 saveCurrentShellFolder = fCurrentShellFolder;
1096 saveCurrentShellView = fCurrentShellView;
1097 fCurrentShellFolder = newShellFolder;
1098 fCurrentShellView = newShellView;
1099
1100 // get boundary
1101 if (previousView != NULL)
1102 ::GetWindowRect(previousView, &shellViewWindowBounds);
1103 else
1104 ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds));
1105 ::MapWindowPoints(0, m_hWnd, reinterpret_cast<POINT *>(&shellViewWindowBounds), 2);
1106
1107 // update current pidl
1109 fCurrentDirectoryPIDL = pidlAbsoluteClone.Detach();
1110 /* CORE-19697: CAddressEditBox::OnWinEvent(CBN_SELCHANGE) causes CAddressEditBox to
1111 * call BrowseObject(pidlLastParsed). As part of our browsing we call FireNavigateComplete
1112 * and this in turn causes CAddressEditBox::Invoke to ILFree(pidlLastParsed)!
1113 * We then call SHBindToParent on absolutePIDL (which is really (the now invalid) pidlLastParsed) and we
1114 * end up accessing invalid memory! We therefore set absolutePIDL to be our cloned PIDL here.
1115 */
1116 absolutePIDL = fCurrentDirectoryPIDL;
1117
1118 // create view window
1119 hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings,
1120 this, &shellViewWindowBounds, &newShellViewWindow);
1121 if (FAILED_UNEXPECTEDLY(hResult) || newShellViewWindow == NULL)
1122 {
1123 fCurrentShellView = saveCurrentShellView;
1124 fCurrentShellFolder = saveCurrentShellFolder;
1126 if (windowUpdateIsLocked)
1128 SetCursor(saveCursor);
1129 return hResult;
1130 }
1131
1132 // update view window
1133 if (saveCurrentShellView != NULL)
1134 saveCurrentShellView->DestroyViewWindow();
1135 fCurrentShellViewWindow = newShellViewWindow;
1136
1137 if (previousView == NULL)
1138 {
1140 }
1141
1142 // no use
1143 saveCurrentShellView.Release();
1144 saveCurrentShellFolder.Release();
1145
1146 hResult = newShellView->UIActivate((flags & BTP_ACTIVATE_NOFOCUS) ? SVUIA_ACTIVATE_NOFOCUS : SVUIA_ACTIVATE_FOCUS);
1147
1148 // leave updating section
1149 if (windowUpdateIsLocked)
1151 SetCursor(saveCursor);
1152
1153 // update history
1155 {
1156 hResult = travelLog->AddEntry(static_cast<IDropTarget *>(this), FALSE);
1157 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1158 }
1159
1160 // completed
1161 nameFlags = SHGDN_FORADDRESSBAR | SHGDN_FORPARSING;
1162 hResult = IEGetNameAndFlags(fCurrentDirectoryPIDL, nameFlags, newTitle,
1163 sizeof(newTitle) / sizeof(wchar_t), NULL);
1164 if (SUCCEEDED(hResult))
1165 {
1166 FireNavigateComplete(newTitle);
1167 }
1168 else
1169 {
1170 FireNavigateComplete(L"ERROR");
1171 }
1172
1174
1175 LPCITEMIDLIST pidlChild;
1176 HIMAGELIST himlSmall, himlLarge;
1177
1179 hResult = SHBindToParent(absolutePIDL, IID_PPV_ARG(IShellFolder, &sf), &pidlChild);
1180 if (SUCCEEDED(hResult))
1181 {
1182 INT indexOpen;
1183 SHMapPIDLToSystemImageListIndex(sf, pidlChild, &indexOpen);
1184
1185 Shell_GetImageLists(&himlLarge, &himlSmall);
1186
1187 HICON icSmall = ImageList_GetIcon(himlSmall, indexOpen, 0);
1188 HICON icLarge = ImageList_GetIcon(himlLarge, indexOpen, 0);
1189
1190 /* Hack to make it possible to release the old icons */
1191 /* Something seems to go wrong with WM_SETICON */
1192 HICON oldSmall = (HICON)SendMessage(WM_GETICON, ICON_SMALL, 0);
1193 HICON oldLarge = (HICON)SendMessage(WM_GETICON, ICON_BIG, 0);
1194
1195 SendMessage(WM_SETICON, ICON_SMALL, reinterpret_cast<LPARAM>(icSmall));
1196 SendMessage(WM_SETICON, ICON_BIG, reinterpret_cast<LPARAM>(icLarge));
1197
1198 DestroyIcon(oldSmall);
1199 DestroyIcon(oldLarge);
1200 }
1201
1203 hResult = UpdateForwardBackState();
1204 hResult = UpdateUpState();
1205 return S_OK;
1206}
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)
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
#define ICON_BIG
Definition: tnclass.cpp:51
#define ICON_SMALL
Definition: tnclass.cpp:48
int32_t INT
Definition: typedefs.h:58
#define ZeroMemory
Definition: winbase.h:1753
LONG_PTR LPARAM
Definition: windef.h:208
HICON HCURSOR
Definition: windef.h:299
#define S_FALSE
Definition: winerror.h:3452
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 CComPtr<IShellFolder> newFolder;
912 HRESULT hResult;
913 CLSID clsid;
914 BOOL HasIconViewType;
915
916 // called by shell view to browse to new folder
917 // also called by explorer band to navigate to new folder
918 hResult = SHBindToFolder(pidl, &newFolder);
919 if (FAILED_UNEXPECTEDLY(hResult))
920 return hResult;
921 // HACK & FIXME: Get view mode from shellbag when fully implemented.
922 IUnknown_GetClassID(newFolder, &clsid);
923 HasIconViewType = clsid == CLSID_MyComputer || clsid == CLSID_ControlPanel ||
924 clsid == CLSID_ShellDesktop;
925
926 if (HasIconViewType)
927 newFolderSettings.ViewMode = FVM_ICON;
928 hResult = BrowseToPath(newFolder, pidl, &newFolderSettings, flags);
929 if (FAILED_UNEXPECTEDLY(hResult))
930 return hResult;
931 return S_OK;
932}
HRESULT BrowseToPath(IShellFolder *newShellFolder, LPCITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags)
HRESULT WINAPI SHBindToFolder(LPCITEMIDLIST path, IShellFolder **newFolder)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
Definition: ordinal.c:1457
const CLSID * clsid
Definition: msctf.cpp:50
@ FVM_ICON
Definition: shobjidl.idl:679

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

◆ BuildExplorerBandCategory()

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

Definition at line 1900 of file shellbrowser.cpp.

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

Referenced by BuildExplorerBandMenu().

◆ BuildExplorerBandMenu()

HRESULT CShellBrowser::BuildExplorerBandMenu ( )

Definition at line 1876 of file shellbrowser.cpp.

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

Referenced by SetMenuSB().

◆ CacheOLEServer()

HRESULT STDMETHODCALLTYPE CShellBrowser::CacheOLEServer ( IOleObject pole)
override

Implements IBrowserService.

Definition at line 2801 of file shellbrowser.cpp.

2802{
2803 return E_NOTIMPL;
2804}

◆ CanNavigateNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow ( void  )
override

Implements IBrowserService.

Definition at line 2749 of file shellbrowser.cpp.

2750{
2751 return E_NOTIMPL;
2752}

◆ ClientToWindow()

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

Definition at line 3354 of file shellbrowser.cpp.

3355{
3356 return E_NOTIMPL;
3357}

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 2289 of file shellbrowser.cpp.

2290{
2291 return E_NOTIMPL;
2292}

◆ CreateBrowserPropSheetExt()

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

Implements IBrowserService2.

Definition at line 2900 of file shellbrowser.cpp.

2901{
2902 return E_NOTIMPL;
2903}

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

Referenced by BrowseObject().

◆ CreateViewWindow()

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

Implements IBrowserService2.

Definition at line 2894 of file shellbrowser.cpp.

2896{
2897 return E_NOTIMPL;
2898}

◆ DisplayParseError()

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

Implements IBrowserService.

Definition at line 2702 of file shellbrowser.cpp.

2703{
2704 return E_NOTIMPL;
2705}

◆ DoFolderOptions()

HRESULT CShellBrowser::DoFolderOptions ( )

Definition at line 1439 of file shellbrowser.cpp.

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

2495{
2496 return E_NOTIMPL;
2497}

◆ DragLeave()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave ( void  )
override

Implements IDropTarget.

Definition at line 2504 of file shellbrowser.cpp.

2505{
2506 return E_NOTIMPL;
2507}

◆ DragOver()

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

Implements IDropTarget.

Definition at line 2499 of file shellbrowser.cpp.

2500{
2501 return E_NOTIMPL;
2502}

◆ Drop()

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

Implements IDropTarget.

Definition at line 2509 of file shellbrowser.cpp.

2511{
2512 return E_NOTIMPL;
2513}

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB ( BOOL  fEnable)
override

Implements IShellBrowser.

Definition at line 2365 of file shellbrowser.cpp.

2366{
2367 return E_NOTIMPL;
2368}

◆ Exec()

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

Implements IOleCommandTarget.

Definition at line 2137 of file shellbrowser.cpp.

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

3515{
3519 if (SUCCEEDED(hr))
3520 hr = pOCT->Exec(NULL, cmdID, cmdexecopt, pvaIn, pvaOut);
3521 return hr;
3522}
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 3628 of file shellbrowser.cpp.

3629{
3630 return E_NOTIMPL;
3631}

◆ FireCommandStateChange()

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

Definition at line 1687 of file shellbrowser.cpp.

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

1700{
1701 return FireCommandStateChange(false, -1);
1702}
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 1630 of file shellbrowser.cpp.

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

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

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

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

3603{
3604 *Value = IsControlWindowShown(FCW_ADDRESSBAR, NULL) == S_OK ? VARIANT_TRUE : VARIANT_FALSE;
3605 return S_OK;
3606}
#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 3259 of file shellbrowser.cpp.

3260{
3261 return E_NOTIMPL;
3262}

◆ get_Busy()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy ( VARIANT_BOOL pBool)
override

Definition at line 3343 of file shellbrowser.cpp.

3344{
3345 return E_NOTIMPL;
3346}

◆ get_Container()

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

Definition at line 3269 of file shellbrowser.cpp.

3270{
3271 return E_NOTIMPL;
3272}

◆ get_Document()

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

Definition at line 3274 of file shellbrowser.cpp.

3275{
3276 return E_NOTIMPL;
3277}

◆ get_FullName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName ( BSTR FullName)
override

Definition at line 3380 of file shellbrowser.cpp.

3381{
3382 return E_NOTIMPL;
3383}

◆ get_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen ( VARIANT_BOOL pbFullScreen)
override

Definition at line 3465 of file shellbrowser.cpp.

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

◆ get_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height ( long pl)
override

Definition at line 3321 of file shellbrowser.cpp.

3322{
3323 return E_NOTIMPL;
3324}

◆ get_HWND()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND ( SHANDLE_PTR pHWND)
override

Definition at line 3374 of file shellbrowser.cpp.

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

◆ get_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left ( long pl)
override

Definition at line 3291 of file shellbrowser.cpp.

3292{
3293 return E_NOTIMPL;
3294}

◆ get_LocationName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName ( BSTR LocationName)
override

Definition at line 3333 of file shellbrowser.cpp.

3334{
3335 return E_NOTIMPL;
3336}

◆ get_LocationURL()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL ( BSTR LocationURL)
override

Definition at line 3338 of file shellbrowser.cpp.

3339{
3340 return E_NOTIMPL;
3341}

◆ get_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar ( VARIANT_BOOL Value)
override

Definition at line 3451 of file shellbrowser.cpp.

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

Referenced by OnToggleFullscreen().

◆ get_Name()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name ( BSTR Name)
override

Definition at line 3369 of file shellbrowser.cpp.

3370{
3371 return E_NOTIMPL;
3372}

◆ get_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline ( VARIANT_BOOL pbOffline)
override

Definition at line 3543 of file shellbrowser.cpp.

3544{
3545 return E_NOTIMPL;
3546}

◆ get_Parent()

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

Definition at line 3264 of file shellbrowser.cpp.

3265{
3266 return E_NOTIMPL;
3267}

◆ get_Path()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path ( BSTR Path)
override

Definition at line 3385 of file shellbrowser.cpp.

3386{
3387 return E_NOTIMPL;
3388}

◆ get_ReadyState()

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

Definition at line 3538 of file shellbrowser.cpp.

3539{
3540 return E_NOTIMPL;
3541}

◆ get_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser ( VARIANT_BOOL pbRegister)
override

Definition at line 3563 of file shellbrowser.cpp.

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

◆ get_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget ( VARIANT_BOOL pbRegister)
override

Definition at line 3577 of file shellbrowser.cpp.

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

◆ get_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable ( VARIANT_BOOL Value)
override

Definition at line 3616 of file shellbrowser.cpp.

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

◆ get_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent ( VARIANT_BOOL pbSilent)
override

Definition at line 3553 of file shellbrowser.cpp.

3554{
3555 return E_NOTIMPL;
3556}

◆ get_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar ( VARIANT_BOOL pBool)
override

Definition at line 3409 of file shellbrowser.cpp.

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

Referenced by OnToggleFullscreen().

◆ get_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText ( BSTR StatusText)
override

Definition at line 3423 of file shellbrowser.cpp.

3424{
3425 return E_NOTIMPL;
3426}

◆ get_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode ( VARIANT_BOOL pbRegister)
override

Definition at line 3589 of file shellbrowser.cpp.

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

◆ get_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar ( int Value)
override

Definition at line 3434 of file shellbrowser.cpp.

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

◆ get_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top ( long pl)
override

Definition at line 3301 of file shellbrowser.cpp.

3302{
3303 return E_NOTIMPL;
3304}

◆ get_TopLevelContainer()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer ( VARIANT_BOOL pBool)
override

Definition at line 3279 of file shellbrowser.cpp.

3280{
3281 return E_NOTIMPL;
3282}

◆ get_Type()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type ( BSTR Type)
override

Definition at line 3284 of file shellbrowser.cpp.

3285{
3286 return E_NOTIMPL;
3287}

◆ get_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible ( VARIANT_BOOL pBool)
override

Definition at line 3390 of file shellbrowser.cpp.

3391{
3393 *pBool = hWnd && ::IsWindowVisible(hWnd) ? VARIANT_TRUE : VARIANT_FALSE;
3394 return S_OK;
3395}
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 3311 of file shellbrowser.cpp.

3312{
3313 return E_NOTIMPL;
3314}

◆ GetBaseBar()

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

Definition at line 1225 of file shellbrowser.cpp.

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

2911{
2912 return E_NOTIMPL;
2913}

◆ GetBorderDW()

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

Definition at line 2015 of file shellbrowser.cpp.

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

◆ GetBrowserByIndex()

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

Implements IBrowserService.

Definition at line 2770 of file shellbrowser.cpp.

2771{
2772 return E_NOTIMPL;
2773}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 3652 of file shellbrowser.cpp.

3653{
3654 return E_NOTIMPL;
3655}

◆ GetControlWindow()

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

Implements IShellBrowser.

Definition at line 2420 of file shellbrowser.cpp.

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

◆ GetFlags()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetFlags ( DWORD pdwFlags)
override

Implements IBrowserService.

Definition at line 2743 of file shellbrowser.cpp.

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

◆ GetFolderSetData()

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

Implements IBrowserService2.

Definition at line 3028 of file shellbrowser.cpp.

3029{
3030 return E_NOTIMPL;
3031}

◆ GetHistoryObject()

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

Implements IBrowserService.

Definition at line 2775 of file shellbrowser.cpp.

2776{
2777 if (ppole == NULL || pstm == NULL || ppbc == NULL)
2778 return E_INVALIDARG;
2779 *ppole = fHistoryObject;
2780 if (fHistoryObject != NULL)
2782 *pstm = fHistoryStream;
2783 if (fHistoryStream != NULL)
2785 *ppbc = fHistoryBindContext;
2791 if (*ppole == NULL)
2792 return E_FAIL;
2793 return S_OK;
2794}
ULONG AddRef()

◆ GetIDsOfNames()

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

Definition at line 2575 of file shellbrowser.cpp.

2577{
2578 return E_NOTIMPL;
2579}

◆ GetMenuBand()

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

Definition at line 1208 of file shellbrowser.cpp.

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

Referenced by SetMenuSB(), and WindowProc().

◆ GetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState ( BNSTATE pbnstate)
override

Implements IBrowserService.

Definition at line 2717 of file shellbrowser.cpp.

2718{
2719 return E_NOTIMPL;
2720}

◆ GetOleObject()

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

Implements IBrowserService.

Definition at line 2602 of file shellbrowser.cpp.

2603{
2604 return E_NOTIMPL;
2605}

◆ GetPalette()

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

Implements IBrowserService.

Definition at line 2817 of file shellbrowser.cpp.

2818{
2819 return E_NOTIMPL;
2820}

◆ GetParentSite()

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

Implements IBrowserService.

Definition at line 2587 of file shellbrowser.cpp.

2588{
2589 return E_NOTIMPL;
2590}

◆ GetPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl ( LPITEMIDLIST ppidl)
override

Definition at line 2754 of file shellbrowser.cpp.

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

Referenced by CreateRelativeBrowsePIDL(), and GetPropertyBag().

◆ GetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie ( DWORD pdwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3741 of file shellbrowser.cpp.

3742{
3743 return E_NOTIMPL;
3744}

◆ GetProperty()

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

Definition at line 3364 of file shellbrowser.cpp.

3365{
3366 return E_NOTIMPL;
3367}

◆ GetPropertyBag()

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

Definition at line 2542 of file shellbrowser.cpp.

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

◆ GetSetCodePage()

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

Implements IBrowserService.

Definition at line 2806 of file shellbrowser.cpp.

2807{
2808 return E_NOTIMPL;
2809}

◆ GetTitle()

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

Implements IBrowserService.

Definition at line 2597 of file shellbrowser.cpp.

2598{
2599 return E_NOTIMPL;
2600}

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

2608{
2609 HRESULT hResult;
2610
2611 // called by toolbar when displaying tooltips
2612 if (pptl == NULL)
2613 return E_FAIL;
2614
2615 *pptl = NULL;
2616 if (fTravelLog.p == NULL)
2617 {
2619 if (FAILED_UNEXPECTEDLY(hResult))
2620 return hResult;
2621 }
2622 *pptl = fTravelLog.p;
2623 fTravelLog.p->AddRef();
2624 return S_OK;
2625}
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 2570 of file shellbrowser.cpp.

2571{
2572 return E_NOTIMPL;
2573}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfoCount ( UINT pctinfo)
override

Definition at line 2565 of file shellbrowser.cpp.

2566{
2567 return E_NOTIMPL;
2568}

◆ GetViewRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 2843 of file shellbrowser.cpp.

2844{
2845 return E_NOTIMPL;
2846}

◆ GetViewStateStream()

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

Implements IShellBrowser.

Definition at line 2415 of file shellbrowser.cpp.

2416{
2417 return E_NOTIMPL;
2418}

◆ GetViewWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewWindow ( HWND phwndView)
override

Implements IBrowserService2.

Definition at line 2905 of file shellbrowser.cpp.

2906{
2907 return E_NOTIMPL;
2908}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 2281 of file shellbrowser.cpp.

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

◆ GetWindowData()

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

Implements ITravelLogClient.

Definition at line 3633 of file shellbrowser.cpp.

3634{
3635 if (pWinData == NULL)
3636 return E_POINTER;
3637
3638 pWinData->dwWindowID = -1;
3639 pWinData->uiCP = 0;
3640 pWinData->pidl = ILClone(fCurrentDirectoryPIDL);
3641 pWinData->lpszUrl = NULL;
3642 pWinData->lpszUrlLocation = NULL;
3643 pWinData->lpszTitle = NULL;
3644 return S_OK;
3645}
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 3168 of file shellbrowser.cpp.

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

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

◆ GoForward()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoForward ( )
override

Definition at line 3188 of file shellbrowser.cpp.

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

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

◆ GoHome()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoHome ( )
override

Definition at line 3208 of file shellbrowser.cpp.

3209{
3210 return E_NOTIMPL;
3211}

Referenced by OnGoHome().

◆ GoSearch()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoSearch ( )
override

Definition at line 3213 of file shellbrowser.cpp.

3214{
3215 return E_NOTIMPL;
3216}

◆ IEGetDisplayName()

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

Definition at line 2692 of file shellbrowser.cpp.

2693{
2694 return E_NOTIMPL;
2695}

◆ IEParseDisplayName()

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

Definition at line 2697 of file shellbrowser.cpp.

2698{
2699 return E_NOTIMPL;
2700}

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

2952{
2953 return E_NOTIMPL;
2954}

◆ InitializeTransitionSite()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTransitionSite ( )
override

Implements IBrowserService2.

Definition at line 2956 of file shellbrowser.cpp.

2957{
2958 return E_NOTIMPL;
2959}

◆ InitializeTravelLog()

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

Implements IBrowserService2.

Definition at line 2920 of file shellbrowser.cpp.

2921{
2922 return E_NOTIMPL;
2923}

◆ InsertMenusSB()

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

Implements IShellBrowser.

Definition at line 2294 of file shellbrowser.cpp.

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

2583{
2584 return E_NOTIMPL;
2585}

◆ IsBandLoaded()

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

Definition at line 1276 of file shellbrowser.cpp.

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

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

Referenced by BuildExplorerBandCategory().

◆ IsControlWindowShown()

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

Implements IBrowserService.

Definition at line 2651 of file shellbrowser.cpp.

2652{
2653 HRESULT hr = S_OK;
2654 BOOL shown = FALSE;
2655 switch (id)
2656 {
2657 case FCW_STATUS:
2659 break;
2660 case FCW_TREE:
2661 {
2663 hr = QueryStatus(&CGID_Explorer, 1, &cmd, NULL);
2664 shown = cmd.cmdf & OLECMDF_LATCHED;
2665 break;
2666 }
2667 case FCW_MENU:
2669 break;
2670 case FCW_ADDRESSBAR:
2672 break;
2673 default:
2674 hr = E_NOTIMPL;
2675 }
2676 if (pfShown)
2677 {
2678 *pfShown = shown;
2679 return hr;
2680 }
2681 return SUCCEEDED(hr) ? (shown ? S_OK : S_FALSE) : hr;
2682}
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:923
#define ITID_ADDRESSBANDSHOWN
Definition: undocshell.h:921

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

◆ IsInternetToolbarBandShown()

HRESULT CShellBrowser::IsInternetToolbarBandShown ( UINT  ITId)

Definition at line 2684 of file shellbrowser.cpp.

2685{
2686 OLECMD cmd = { ITId };
2688 CGID_PrivCITCommands, 1, &cmd, NULL);
2689 return SUCCEEDED(hr) ? (cmd.cmdf & OLECMDF_LATCHED) ? S_OK : S_FALSE : hr;
2690}
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 3657 of file shellbrowser.cpp.

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

3648{
3649 return E_NOTIMPL;
3650}

◆ Navigate()

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

Definition at line 3218 of file shellbrowser.cpp.

3220{
3222 HRESULT hResult;
3223 CComPtr<IShellFolder> pDesktop;
3224
3225 hResult = SHGetDesktopFolder(&pDesktop);
3226 if (FAILED_UNEXPECTEDLY(hResult))
3227 return hResult;
3228 hResult = pDesktop->ParseDisplayName(NULL, NULL, URL, NULL, &pidl, NULL);
3229 if (FAILED_UNEXPECTEDLY(hResult))
3230 return hResult;
3231 return BrowseObject(pidl, 1);
3232}
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 3480 of file shellbrowser.cpp.

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

1412{
1414 if (newDirectory == NULL)
1415 return E_OUTOFMEMORY;
1416 if (_ILIsDesktop(newDirectory))
1417 {
1418 ILFree(newDirectory);
1419 return E_INVALIDARG;
1420 }
1421 ILRemoveLastID(newDirectory);
1423 ILFree(newDirectory);
1424 if (FAILED_UNEXPECTEDLY(hResult))
1425 return hResult;
1426 return S_OK;
1427}
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 2707 of file shellbrowser.cpp.

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

◆ NotifyRedirect()

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

Definition at line 2722 of file shellbrowser.cpp.

2723{
2724 return E_NOTIMPL;
2725}

◆ Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::Offline ( int  iCmd)
override

Implements IBrowserService2.

Definition at line 2931 of file shellbrowser.cpp.

2932{
2933 return E_NOTIMPL;
2934}

◆ OnAboutReactOS()

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

Definition at line 3944 of file shellbrowser.cpp.

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

◆ OnAddToFavorites()

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

Definition at line 4004 of file shellbrowser.cpp.

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

4210{
4211 UINT uCmd = GET_APPCOMMAND_LPARAM(lParam), uExecCmd = 0;
4212 switch (uCmd)
4213 {
4214 case APPCOMMAND_BROWSER_BACKWARD: uExecCmd = IDM_GOTO_BACK; break;
4215 case APPCOMMAND_BROWSER_FORWARD: uExecCmd = IDM_GOTO_FORWARD; break;
4216 case APPCOMMAND_BROWSER_REFRESH: uExecCmd = IDM_VIEW_REFRESH; break;
4217 case APPCOMMAND_BROWSER_STOP: uExecCmd = FCIDM_BROWSER_STOP; break; // TODO: Handle Stop()
4218 case APPCOMMAND_BROWSER_SEARCH: uExecCmd = IDM_EXPLORERBAR_SEARCH; break;
4219 case APPCOMMAND_BROWSER_FAVORITES: uExecCmd = IDM_EXPLORERBAR_FAVORITES; break;
4220 case APPCOMMAND_BROWSER_HOME: uExecCmd = IDM_GOTO_HOMEPAGE; break;
4221 }
4222 if (uExecCmd)
4223 {
4224 SendMessage(WM_COMMAND, uExecCmd, 0);
4225 bHandled = TRUE;
4226 return TRUE;
4227 }
4228 return 0;
4229}
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 3982 of file shellbrowser.cpp.

3983{
3984 HRESULT hResult;
3985 if (LOBYTE(GetVersion()) < 6)
3986 hResult = NavigateToParent();
3987 else if (FAILED(hResult = GoBack()))
3988 hResult = GoForward();
3989
3990 if (FAILED(hResult))
3991 TRACE("Backspace navigation failed with hResult=%08lx\n", hResult);
3992 return 0;
3993}
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 4178 of file shellbrowser.cpp.

4179{
4181 return 0;
4182}
void RefreshCabinetState()

◆ OnClose()

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

Definition at line 3916 of file shellbrowser.cpp.

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

◆ OnCreate() [1/2]

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

Implements IBrowserService2.

Definition at line 2853 of file shellbrowser.cpp.

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

Referenced by OnCreate().

◆ OnCreate() [2/2]

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

Definition at line 3746 of file shellbrowser.cpp.

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

◆ OnDestroy() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnDestroy ( )
override

Implements IBrowserService2.

Definition at line 2864 of file shellbrowser.cpp.

2865{
2866 return E_NOTIMPL;
2867}

◆ OnDestroy() [2/2]

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

Definition at line 3752 of file shellbrowser.cpp.

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

3939{
3941 return 0;
3942}
#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 4274 of file shellbrowser.cpp.

4275{
4277 return 0;
4278}
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 4280 of file shellbrowser.cpp.

4281{
4282 if (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_ROS_KIOSK)) // Resize fullscreen on resolution change (CORE-20072)
4283 {
4287 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4288 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4290 }
4291 return 0;
4292}
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 4118 of file shellbrowser.cpp.

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

3922{
3924 HRESULT hResult = DoFolderOptions();
3925 if (FAILED(hResult))
3926 TRACE("DoFolderOptions failed with hResult=%08lx\n", hResult);
3927 return 0;
3928}
#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 2879 of file shellbrowser.cpp.

2880{
2881 return E_NOTIMPL;
2882}

◆ OnGetSettingsPtr()

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

Definition at line 4199 of file shellbrowser.cpp.

4200{
4201 if (!lParam)
4203
4205 return NO_ERROR;
4206}
#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 3950 of file shellbrowser.cpp.

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

◆ OnGoForward()

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

Definition at line 3958 of file shellbrowser.cpp.

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

◆ OnGoHome()

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

Definition at line 3974 of file shellbrowser.cpp.

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

◆ OnGoTravel()

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

Definition at line 4113 of file shellbrowser.cpp.

4114{
4115 return 0;
4116}

◆ OnGoUpLevel()

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

Definition at line 3966 of file shellbrowser.cpp.

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

◆ OnHttpEquiv()

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

Implements IBrowserService.

Definition at line 2811 of file shellbrowser.cpp.

2813{
2814 return E_NOTIMPL;
2815}

◆ OnInitMenuPopup()

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

Definition at line 3849 of file shellbrowser.cpp.

3850{
3851 HMENU theMenu;
3852 LPARAM menuIndex = lParam;
3853
3854 theMenu = reinterpret_cast<HMENU>(wParam);
3855
3857 {
3858 menuIndex = 0;
3859 }
3860 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_EDIT))
3861 {
3862 menuIndex = 1;
3863 }
3864 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW))
3865 {
3866 UpdateViewMenu(theMenu);
3867 menuIndex = 2;
3868 }
3870 {
3871 menuIndex = 3;
3872 }
3873 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_TOOLS))
3874 {
3875 // FIXME: Remove once implemented
3878 menuIndex = 4;
3879 }
3880 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_HELP))
3881 {
3882 menuIndex = 5;
3883 }
3884
3885 LRESULT ret = RelayMsgToShellView(uMsg, wParam, menuIndex, bHandled);
3886
3887 return ret;
3888}
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
#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
LONG_PTR LRESULT
Definition: windef.h:209

◆ OnMapNetworkDrive()

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

Definition at line 3930 of file shellbrowser.cpp.

3931{
3932#ifndef __REACTOS__
3934#endif /* __REACTOS__ */
3935 return 0;
3936}
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 4026 of file shellbrowser.cpp.

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

◆ OnRefresh()

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

Definition at line 4105 of file shellbrowser.cpp.

4106{
4109 fCurrentShellView->Refresh();
4110 return 0;
4111}
#define FCIDM_CABINET_REFRESH
Definition: shlobj_undoc.h:81

◆ OnSearch()

HRESULT CShellBrowser::OnSearch ( )

Definition at line 1963 of file shellbrowser.cpp.

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

◆ OnSetFocus() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSetFocus ( )
override

Implements IBrowserService2.

Definition at line 2874 of file shellbrowser.cpp.

2875{
2876 return E_NOTIMPL;
2877}

◆ OnSetFocus() [2/2]

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

Definition at line 3890 of file shellbrowser.cpp.

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

◆ OnSettingChange()

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

Definition at line 3903 of file shellbrowser.cpp.

3904{
3907 return 0;
3908}
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 4184 of file shellbrowser.cpp.

4185{
4186 /* Refresh child windows */
4188
4189 /* Refresh status bar */
4190 if (fStatusBar)
4191 {
4194 }
4195
4196 return 0;
4197}
_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 3820 of file shellbrowser.cpp.

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

◆ OnSize() [2/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSize ( WPARAM  wParam)
override

Implements IBrowserService2.

Definition at line 2848 of file shellbrowser.cpp.

2849{
2850 return E_NOTIMPL;
2851}

◆ OnSysColorChange()

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

Definition at line 3910 of file shellbrowser.cpp.

3911{
3913 return 0;
3914}

◆ OnToggleAddressBandVisible()

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

Definition at line 4073 of file shellbrowser.cpp.

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

◆ OnToggleExplorerBar()

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

Definition at line 4134 of file shellbrowser.cpp.

4135{
4136 UINT sbci = 0;
4137 switch (wID)
4138 {
4139 case IDM_EXPLORERBAR_SEARCH: sbci = 0x1c; break;
4140 case IDM_EXPLORERBAR_FAVORITES: sbci = 0x1e; break;
4141 case IDM_EXPLORERBAR_HISTORY: sbci = 0x1d; break;
4143 default: WARN("Unknown id %x\n", wID);
4144 }
4145 if (sbci)
4146 {
4147 this->Exec(&CGID_Explorer, sbci, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
4148 bHandled = TRUE;
4149 }
4150 return TRUE;
4151}
#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 4231 of file shellbrowser.cpp.

4232{
4233 const UINT OrgUiSetAuto = m_BrowserSvcFlags & BSF_UISETBYAUTOMATION;
4234 const BOOL fCurrentlyFullscreen = (m_BrowserSvcFlags & BSF_THEATERMODE);
4235 const BOOL fEnter = wID ? !fCurrentlyFullscreen : wNotifyCode;
4237 if (fEnter)
4238 {
4239 VARIANT_BOOL varb;
4240 m_NonFullscreenState = (m_BrowserSvcFlags & BSF_RESIZABLE) ? FSF_RESIZE : 0;
4241 m_NonFullscreenState |= (FAILED(get_MenuBar(&varb)) || varb) ? FSF_MBAR : 0;
4242 m_NonFullscreenState |= (FAILED(get_StatusBar(&varb)) || varb) ? FSF_SBAR : 0;
4244 SetFlags(BSF_THEATERMODE, BSF_THEATERMODE);
4245 put_MenuBar(VARIANT_FALSE);
4246 put_StatusBar(VARIANT_FALSE);
4252 int x = mi.rcMonitor.left, w = mi.rcMonitor.right - x;
4253 int y = mi.rcMonitor.top, h = mi.rcMonitor.bottom - y;
4255 }
4256 else
4257 {
4258 SetFlags(0, BSF_THEATERMODE);
4259 put_MenuBar((m_NonFullscreenState & FSF_MBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4260 put_StatusBar((m_NonFullscreenState & FSF_SBAR) ? VARIANT_TRUE : VARIANT_FALSE);
4263 SHSetWindowBits(hWnd, GWL_STYLE, styles | WS_THICKFRAME, styles);
4268 }
4269 SetFlags(OrgUiSetAuto, BSF_UISETBYAUTOMATION);
4271 return 0;
4272}
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 4081 of file shellbrowser.cpp.

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

◆ OnToggleStatusBarVisible()

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

Definition at line 4049 of file shellbrowser.cpp.

4050{
4052 m_settings.Save();
4054 return 0;
4055}
#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 4089 of file shellbrowser.cpp.

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

◆ OnToggleToolbarBandVisible()

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

Definition at line 4065 of file shellbrowser.cpp.

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

◆ OnToggleToolbarLock()

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

Definition at line 4057 of file shellbrowser.cpp.

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

◆ OnToolbarCustomize()

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

Definition at line 4097 of file shellbrowser.cpp.

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

◆ OnViewWindowActive()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnViewWindowActive ( IShellView ppshv)
override

Implements IShellBrowser.

Definition at line 2483 of file shellbrowser.cpp.

2484{
2485 return E_NOTIMPL;
2486}

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

3609{
3610 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3611 HRESULT hr = ShowControlWindow(FCW_ADDRESSBAR, Value != VARIANT_FALSE);
3613 return hr;
3614}
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 3471 of file shellbrowser.cpp.

3472{
3473 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3474 SetFlags(bFullScreen ? BSF_ROS_KIOSK : 0, BSF_ROS_KIOSK);
3475 put_TheaterMode(bFullScreen);
3477 return S_OK;
3478}
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 3326 of file shellbrowser.cpp.

3327{
3328 return E_NOTIMPL;
3329}

◆ put_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Left ( long  Left)
override

Definition at line 3296 of file shellbrowser.cpp.

3297{
3298 return E_NOTIMPL;
3299}

◆ put_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_MenuBar ( VARIANT_BOOL  Value)
override

Definition at line 3457 of file shellbrowser.cpp.

3458{
3459 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3460 HRESULT hr = ShowControlWindow(FCW_MENU, Value != VARIANT_FALSE);
3462 return hr;
3463}
#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 3548 of file shellbrowser.cpp.

3549{
3550 return E_NOTIMPL;
3551}

◆ put_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsBrowser ( VARIANT_BOOL  bRegister)
override

Definition at line 3569 of file shellbrowser.cpp.

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

◆ put_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsDropTarget ( VARIANT_BOOL  bRegister)
override

Definition at line 3583 of file shellbrowser.cpp.

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

◆ put_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Resizable ( VARIANT_BOOL  Value)
override

Definition at line 3622 of file shellbrowser.cpp.

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

◆ put_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Silent ( VARIANT_BOOL  bSilent)
override

Definition at line 3558 of file shellbrowser.cpp.

3559{
3560 return E_NOTIMPL;
3561}

◆ put_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusBar ( VARIANT_BOOL  Value)
override

Definition at line 3415 of file shellbrowser.cpp.

3416{
3417 SetFlags(BSF_UISETBYAUTOMATION, BSF_UISETBYAUTOMATION);
3418 HRESULT hr = ShowControlWindow(FCW_STATUS, Value != VARIANT_FALSE);
3420 return hr;
3421}
#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 3428 of file shellbrowser.cpp.

3429{
3430 SendControlMsg(FCW_STATUS, SB_SETTEXTW, 0, (LPARAM)StatusText, NULL);
3431 return S_OK;
3432}
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 3595 of file shellbrowser.cpp.

3596{
3597 BOOL handled;
3598 OnToggleFullscreen(bRegister, 0, NULL, handled);
3599 return S_OK;
3600}
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 3442 of file shellbrowser.cpp.

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

◆ put_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Top ( long  Top)
override

Definition at line 3306 of file shellbrowser.cpp.

3307{
3308 return E_NOTIMPL;
3309}

◆ put_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Visible ( VARIANT_BOOL  Value)
override

Definition at line 3397 of file shellbrowser.cpp.

3398{
3400 {
3402 if (Value)
3405 }
3406 return S_OK;
3407}
#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 3316 of file shellbrowser.cpp.

3317{
3318 return E_NOTIMPL;
3319}

◆ PutProperty()

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

Definition at line 3359 of file shellbrowser.cpp.

3360{
3361 return E_NOTIMPL;
3362}

◆ QueryActiveShellView()

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

Implements IShellBrowser.

Definition at line 2470 of file shellbrowser.cpp.

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

◆ QueryService()

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

Implements IServiceProvider.

Definition at line 2515 of file shellbrowser.cpp.

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

◆ QueryStatus()

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

Implements IOleCommandTarget.

Definition at line 2056 of file shellbrowser.cpp.

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

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

◆ Quit()

HRESULT STDMETHODCALLTYPE CShellBrowser::Quit ( )
override

Definition at line 3348 of file shellbrowser.cpp.

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

◆ Refresh()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh ( )
override

Definition at line 3234 of file shellbrowser.cpp.

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

◆ Refresh2()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh2 ( VARIANT Level)
override

Definition at line 3243 of file shellbrowser.cpp.

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

Referenced by Refresh().

◆ RefreshCabinetState()

void CShellBrowser::RefreshCabinetState ( )

Definition at line 4299 of file shellbrowser.cpp.

4300{
4303}

Referenced by OnCabinetStateChange(), and OnSettingChange().

◆ RegisterWindow()

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

Implements IBrowserService.

Definition at line 2822 of file shellbrowser.cpp.

2823{
2824 return E_NOTIMPL;
2825}

Referenced by put_RegisterAsBrowser().

◆ RelayCommands()

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

Definition at line 4153 of file shellbrowser.cpp.

4154{
4156 switch (LOWORD(wParam))
4157 {
4160 break;
4165 BrowseObject(pidl, SBSP_ABSOLUTE | SBSP_SAMEBROWSER | SBSP_ACTIVATE_NOFOCUS);
4166 return 0;
4167#if 0 // TODO: Toggle entire itbar(rebar) after LPTOOLBARITEM->fShow support is added
4169 break;
4170#endif
4171 }
4172
4175 return 0;
4176}
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:889
#define HIWORD(l)
Definition: typedefs.h:247

◆ RelayMsgToShellView()

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

Definition at line 3896 of file shellbrowser.cpp.

3897{
3900 return 0;
3901}

Referenced by OnInitMenuPopup().

◆ ReleaseShellView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ReleaseShellView ( )
override

Implements IBrowserService2.

Definition at line 2884 of file shellbrowser.cpp.

2885{
2886 return E_NOTIMPL;
2887}

◆ RemoveMenusSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::RemoveMenusSB ( HMENU  hmenuShared)
override

Implements IShellBrowser.

Definition at line 2341 of file shellbrowser.cpp.

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

◆ RepositionBars()

void CShellBrowser::RepositionBars ( )

Definition at line 1550 of file shellbrowser.cpp.

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

2037{
2038 return S_OK;
2039}

◆ SaveHistory()

HRESULT STDMETHODCALLTYPE CShellBrowser::SaveHistory ( IStream pStream)
override

Implements IPersistHistory.

Definition at line 3702 of file shellbrowser.cpp.

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

4318{
4319 if (!gCabinetState.fSaveLocalView || (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_UISETBYAUTOMATION)))
4320 return;
4321#if 0 // If CDesktopBrowser aggregates us, skip saving
4323 if (fCurrentShellView && SUCCEEDED(fCurrentShellView->GetCurrentInfo(&fs)) && (fs.fFlags & FWF_DESKTOP))
4324 return;
4325#endif
4326
4328 CComPtr<IStream> pITBarStream;
4329 if (!fClientBars[BIInternetToolbar].clientBar.p)
4330 return;
4332 if (FAILED(hr))
4333 return;
4335 return;
4336 pPSI->Save(pITBarStream, TRUE);
4337}
#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 1027 of file shellbrowser.cpp.

1028{
1029 // TODO: Also respect EBO_NOPERSISTVIEWSTATE?
1031 fCurrentShellView->SaveViewState();
1032}
@ 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 2447 of file shellbrowser.cpp.

2449{
2450 LPARAM result;
2451
2452 if (pret != NULL)
2453 *pret = 0;
2454 switch (id)
2455 {
2456 case FCW_TOOLBAR:
2458 if (pret != NULL)
2459 *pret = result;
2460 break;
2461 case FCW_STATUS:
2463 if (pret != NULL)
2464 *pret = result;
2465 break;
2466 }
2467 return S_OK;
2468}
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 3093 of file shellbrowser.cpp.

3094{
3095 return E_NOTIMPL;
3096}

◆ SetActivateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetActivateState ( UINT  u)
override

Implements IBrowserService2.

Definition at line 2941 of file shellbrowser.cpp.

2942{
2943 return E_NOTIMPL;
2944}

◆ SetAsDefFolderSettings()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAsDefFolderSettings ( )
override

Implements IBrowserService2.

Definition at line 2832 of file shellbrowser.cpp.

2833{
2834 HRESULT hr = E_FAIL;
2836 {
2839 }
2840 return hr;
2841}
#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:115

◆ SetBorderSpaceDW()

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

Definition at line 2041 of file shellbrowser.cpp.

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

◆ SetFlags()

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

Implements IBrowserService.

Definition at line 2737 of file shellbrowser.cpp.

2738{
2739 m_BrowserSvcFlags = (m_BrowserSvcFlags & ~dwFlagMask) | (dwFlags & dwFlagMask);
2740 return S_OK;
2741}
LPCWSTR LPCWSTR LPCWSTR DWORD dwFlags
Definition: env.c:37

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

2797{
2798 return E_NOTIMPL;
2799}

◆ SetMenuSB()

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

Implements IShellBrowser.

Definition at line 2311 of file shellbrowser.cpp.

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

2713{
2714 return E_NOTIMPL;
2715}

◆ SetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetPositionCookie ( DWORD  dwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3736 of file shellbrowser.cpp.

3737{
3738 return E_NOTIMPL;
3739}

◆ SetReferrer()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetReferrer ( LPCITEMIDLIST  pidl)
override

Definition at line 2760 of file shellbrowser.cpp.

2761{
2762 return E_NOTIMPL;
2763}

◆ SetStatusTextSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetStatusTextSB ( LPCOLESTR  pszStatusText)
override

Implements IShellBrowser.

Definition at line 2351 of file shellbrowser.cpp.

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

◆ SetTitle()

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

Implements IBrowserService.

Definition at line 2592 of file shellbrowser.cpp.

2593{
2594 return E_NOTIMPL;
2595}

◆ SetToolbarItems()

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

Definition at line 2488 of file shellbrowser.cpp.

2489{
2490 return E_NOTIMPL;
2491}

◆ SetTopBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetTopBrowser ( )
override

Implements IBrowserService2.

Definition at line 2925 of file shellbrowser.cpp.

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

Referenced by CShellBrowser().

◆ ShowBand()

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

Definition at line 1322 of file shellbrowser.cpp.

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

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

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

3255{
3256 return E_NOTIMPL;
3257}

◆ TranslateAcceleratorSB()

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

Implements IShellBrowser.

Definition at line 2370 of file shellbrowser.cpp.

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

◆ UpdateBackForwardState()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateBackForwardState ( )
override

Implements IBrowserService.

Definition at line 2732 of file shellbrowser.cpp.

2733{
2734 return E_NOTIMPL;
2735}

◆ UpdateForwardBackState()

HRESULT CShellBrowser::UpdateForwardBackState ( )

Definition at line 1712 of file shellbrowser.cpp.

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

Referenced by BrowseToPath().

◆ UpdateGotoMenu()

void CShellBrowser::UpdateGotoMenu ( HMENU  theMenu)

Definition at line 1749 of file shellbrowser.cpp.

1750{
1751 CComPtr<ITravelLog> travelLog;
1752 CComPtr<ITravelEntry> unusedEntry;
1753 int position;
1754 MENUITEMINFO menuItemInfo;
1755 HRESULT hResult;
1756
1758
1759 position = GetMenuItemCount(theMenu);
1760 hResult = GetTravelLog(&travelLog);
1761 if (FAILED_UNEXPECTEDLY(hResult))
1762 return;
1763
1764 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1765 TLOG_BACK,
1766 &unusedEntry);
1767
1768 if (SUCCEEDED(hResult))
1769 {
1771 unusedEntry.Release();
1772 }
1773 else
1775
1776 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1777 TLOG_FORE,
1778 &unusedEntry);
1779
1780 if (SUCCEEDED(hResult))
1781 {
1783 unusedEntry.Release();
1784 }
1785 else
1787
1788 SHEnableMenuItem(theMenu,
1791
1792 hResult = travelLog->InsertMenuEntries(static_cast<IDropTarget *>(this), theMenu, position,
1794 if (SUCCEEDED(hResult))
1795 {
1796 menuItemInfo.cbSize = sizeof(menuItemInfo);
1797 menuItemInfo.fMask = MIIM_TYPE | MIIM_ID;
1798 menuItemInfo.fType = MF_SEPARATOR;
1799 menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP;
1800 InsertMenuItem(theMenu, position, TRUE, &menuItemInfo);
1801 }
1802}
#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 2946 of file shellbrowser.cpp.

2947{
2948 return E_NOTIMPL;
2949}

◆ UpdateUpState()

HRESULT CShellBrowser::UpdateUpState ( )

Definition at line 1742 of file shellbrowser.cpp.

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

Referenced by BrowseToPath().

◆ UpdateViewMenu()

void CShellBrowser::UpdateViewMenu ( HMENU  theMenu)

Definition at line 1804 of file shellbrowser.cpp.

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

2728{
2729 return E_NOTIMPL;
2730}

◆ UpdateWindowTitle()

void CShellBrowser::UpdateWindowTitle ( )

Definition at line 4305 of file shellbrowser.cpp.

4306{
4308 SHGDNF flags = SHGDN_FORADDRESSBAR;
4309
4311 flags |= SHGDN_FORPARSING;
4312
4315}
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 3163 of file shellbrowser.cpp.

3164{
3165 return E_NOTIMPL;
3166}

◆ v_MayGetNextToolbarFocus()

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

Implements IBrowserService2.

Definition at line 3123 of file shellbrowser.cpp.

3125{
3126 return E_NOTIMPL;
3127}

◆ v_MayTranslateAccelerator()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayTranslateAccelerator ( MSG pmsg)
override

Implements IBrowserService2.

Definition at line 3144 of file shellbrowser.cpp.

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

◆ v_ShowHideChildWindows()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_ShowHideChildWindows ( BOOL  fChildOnly)
override

Implements IBrowserService2.

Definition at line 3038 of file shellbrowser.cpp.

3039{
3040 return E_NOTIMPL;
3041}

◆ WindowProc()

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

Definition at line 1495 of file shellbrowser.cpp.

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