ReactOS 0.4.15-dev-8434-g155a7c7
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 *pvs)
 
void RepositionBars ()
 
HRESULT BuildExplorerBandMenu ()
 
HRESULT BuildExplorerBandCategory (HMENU hBandsMenu, CATID category, DWORD dwPos, UINT *nbFound)
 
BOOL IsBuiltinBand (CLSID &bandID)
 
virtual WNDPROC GetWindowProc ()
 
HRESULT FireEvent (DISPID dispIdMember, int argCount, VARIANT *arguments)
 
HRESULT FireNavigateComplete (const wchar_t *newDirectory)
 
HRESULT FireCommandStateChange (bool newState, int commandID)
 
HRESULT FireCommandStateChangeAll ()
 
HRESULT UpdateForwardBackState ()
 
HRESULT UpdateUpState ()
 
void UpdateGotoMenu (HMENU theMenu)
 
void UpdateViewMenu (HMENU theMenu)
 
HRESULT IsInternetToolbarBandShown (UINT ITId)
 
void RefreshCabinetState ()
 
void UpdateWindowTitle ()
 
void SaveITBarLayout ()
 
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 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 OnToggleStatusBarVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleToolbarLock (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleToolbarBandVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleAddressBandVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleLinksBandVisible (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToggleTextLabels (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnToolbarCustomize (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnGoTravel (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnRefresh (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnExplorerBar (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT RelayCommands (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnCabinetStateChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSettingsChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnGetSettingsPtr (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnAppCommand (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
HRESULT OnSearch ()
 
- Public Member Functions inherited from ATL::CWindowImpl< CShellBrowser, CWindow, CFrameWinTraits >
HWND Create (HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
 
- Public Member Functions inherited from ATL::CWindowImplBaseT< TBase, TWinTraits >
 CWindowImplBaseT ()
 
virtual void OnFinalMessage (HWND)
 
BOOL SubclassWindow (HWND hWnd)
 
HWND UnsubclassWindow (BOOL bForce=FALSE)
 
virtual WNDPROC GetWindowProc ()
 
LRESULT DefWindowProc (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
HWND Create (HWND hWndParent, _U_RECT rect, LPCTSTR szWindowName, DWORD dwStyle, DWORD dwExStyle, _U_MENUorID MenuOrID, ATOM atom, LPVOID lpCreateParam)
 
- Public Member Functions inherited from ATL::CWindowImplRoot< TBase >
 CWindowImplRoot ()
 
virtual ~CWindowImplRoot ()
 
- Public Member Functions inherited from ATL::CWindow
 CWindow (HWND hWnd=NULL)
 
 operator HWND () const
 
UINT ArrangeIconicWindows ()
 
void Attach (HWND hWndNew)
 
HDC BeginPaint (LPPAINTSTRUCT lpPaint)
 
BOOL BringWindowToTop ()
 
BOOL CenterWindow (HWND hWndCenter=NULL)
 
BOOL ChangeClipboardChain (HWND hWndNewNext)
 
BOOL CheckDlgButton (int nIDButton, UINT nCheck)
 
BOOL CheckRadioButton (int nIDFirstButton, int nIDLastButton, int nIDCheckButton)
 
HWND ChildWindowFromPoint (POINT point) const
 
HWND ChildWindowFromPointEx (POINT point, UINT uFlags) const
 
BOOL ClientToScreen (LPPOINT lpPoint) const
 
BOOL ClientToScreen (LPRECT lpRect) const
 
HWND Create (LPCTSTR lpstrWndClass, HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
 
BOOL CreateCaret (HBITMAP pBitmap)
 
BOOL CreateGrayCaret (int nWidth, int nHeight)
 
BOOL CreateSolidCaret (int nWidth, int nHeight)
 
HDWP DeferWindowPos (HDWP hWinPosInfo, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags)
 
BOOL DestroyWindow ()
 
HWND Detach ()
 
int DlgDirList (LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT nFileType)
 
int DlgDirListComboBox (LPTSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT nFileType)
 
BOOL DlgDirSelect (LPTSTR lpString, int nCount, int nIDListBox)
 
BOOL DlgDirSelectComboBox (LPTSTR lpString, int nCount, int nIDComboBox)
 
void DragAcceptFiles (BOOL bAccept=TRUE)
 
BOOL DrawMenuBar ()
 
BOOL EnableScrollBar (UINT uSBFlags, UINT uArrowFlags=ESB_ENABLE_BOTH)
 
BOOL EnableWindow (BOOL bEnable=TRUE)
 
void EndPaint (LPPAINTSTRUCT lpPaint)
 
BOOL FlashWindow (BOOL bInvert)
 
BOOL GetClientRect (LPRECT lpRect) const
 
HDC GetDC ()
 
HDC GetDCEx (HRGN hRgnClip, DWORD flags)
 
HWND GetDescendantWindow (int nID) const
 
HRESULT GetDlgControl (int nID, REFIID iid, void **ppCtrl)
 
int GetDlgCtrlID () const
 
HRESULT GetDlgHost (int nID, REFIID iid, void **ppHost)
 
HWND GetDlgItem (_In_ int nID) const
 
UINT GetDlgItemInt (_In_ int nID, _Out_opt_ BOOL *lpTrans=NULL, _In_ BOOL bSigned=TRUE) const
 
UINT GetDlgItemText (_In_ int nID, _Out_writes_to_(nMaxCount, return+1) LPTSTR lpStr, _In_ int nMaxCount) const
 
BOOL GetDlgItemText (_In_ int nID, _Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
 
DWORD GetExStyle () const
 
HFONT GetFont () const
 
DWORD GetHotKey () const
 
HICON GetIcon (BOOL bBigIcon=TRUE) const
 
HWND GetLastActivePopup () const
 
HMENU GetMenu () const
 
HWND GetNextDlgGroupItem (HWND hWndCtl, BOOL bPrevious=FALSE) const
 
HWND GetNextDlgTabItem (HWND hWndCtl, BOOL bPrevious=FALSE) const
 
CWindow GetParent () const
 
BOOL GetScrollInfo (int nBar, LPSCROLLINFO lpScrollInfo)
 
BOOL GetScrollPos (int nBar)
 
BOOL GetScrollRange (int nBar, LPINT lpMinPos, LPINT lpMaxPos) const
 
DWORD GetStyle () const
 
HMENU GetSystemMenu (BOOL bRevert)
 
HWND GetTopLevelParent () const
 
HWND GetTopLevelWindow () const
 
HWND GetTopWindow () const
 
BOOL GetUpdateRect (LPRECT lpRect, BOOL bErase=FALSE)
 
int GetUpdateRgn (HRGN hRgn, BOOL bErase=FALSE)
 
HWND GetWindow (UINT nCmd) const
 
DWORD GetWindowContextHelpId () const
 
HDC GetWindowDC ()
 
LONG GetWindowLong (int nIndex) const
 
LONG_PTR GetWindowLongPtr (int nIndex) const
 
BOOL GetWindowPlacement (WINDOWPLACEMENT *lpwndpl) const
 
DWORD GetWindowProcessID ()
 
BOOL GetWindowRect (LPRECT lpRect) const
 
int GetWindowRgn (HRGN hRgn)
 
int GetWindowText (_Out_writes_to_(nMaxCount, return+1) LPTSTR lpszStringBuf, _In_ int nMaxCount) const
 
BOOL GetWindowText (_Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
 
int GetWindowTextLength () const
 
DWORD GetWindowThreadID ()
 
WORD GetWindowWord (int nIndex) const
 
void GotoDlgCtrl (HWND hWndCtrl) const
 
BOOL HideCaret ()
 
BOOL HiliteMenuItem (HMENU hMenu, UINT uHiliteItem, UINT uHilite)
 
BOOL Invalidate (BOOL bErase=TRUE)
 
BOOL InvalidateRect (LPCRECT lpRect, BOOL bErase=TRUE)
 
void InvalidateRgn (HRGN hRgn, BOOL bErase=TRUE)
 
BOOL IsChild (const HWND hWnd) const
 
BOOL IsDialogMessage (LPMSG lpMsg)
 
UINT IsDlgButtonChecked (int nIDButton) const
 
BOOL IsIconic () const
 
BOOL IsParentDialog ()
 
BOOL IsWindow () const
 
BOOL IsWindowEnabled () const
 
BOOL IsWindowVisible () const
 
BOOL IsWindowUnicode ()
 
BOOL IsZoomed () const
 
BOOL KillTimer (UINT_PTR nIDEvent)
 
BOOL LockWindowUpdate (BOOL bLock=TRUE)
 
int MapWindowPoints (HWND hWndTo, LPPOINT lpPoint, UINT nCount) const
 
int MapWindowPoints (HWND hWndTo, LPRECT lpRect) const
 
int MessageBox (LPCTSTR lpszText, LPCTSTR lpszCaption=NULL, UINT nType=MB_OK)
 
BOOL ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 
BOOL ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 
BOOL MoveWindow (int x, int y, int nWidth, int nHeight, BOOL bRepaint=TRUE)
 
void NextDlgCtrl () const
 
BOOL OpenClipboard ()
 
BOOL PostMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void PrevDlgCtrl () const
 
void Print (HDC hDC, DWORD dwFlags) const
 
void PrintClient (HDC hDC, DWORD dwFlags) const
 
BOOL RedrawWindow (LPCRECT lpRectUpdate=NULL, HRGN hRgnUpdate=NULL, UINT flags=RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE)
 
int ReleaseDC (HDC hDC)
 
BOOL ResizeClient (int nWidth, int nHeight, BOOL bRedraw=FALSE)
 
BOOL ScreenToClient (LPPOINT lpPoint) const
 
BOOL ScrollWindow (int xAmount, int yAmount, LPCRECT lpRect=NULL, LPCRECT lpClipRect=NULL)
 
int ScrollWindowEx (int dx, int dy, LPCRECT lpRectScroll, LPCRECT lpRectClip, HRGN hRgnUpdate, LPRECT lpRectUpdate, UINT flags)
 
LRESULT SendDlgItemMessage (int nID, UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
LRESULT SendMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void SendMessageToDescendants (UINT message, WPARAM wParam=0, LPARAM lParam=0, BOOL bDeep=TRUE)
 
BOOL SendNotifyMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
HWND SetActiveWindow ()
 
HWND SetCapture ()
 
HWND SetClipboardViewer ()
 
int SetDlgCtrlID (int nID)
 
BOOL SetDlgItemInt (int nID, UINT nValue, BOOL bSigned=TRUE)
 
BOOL SetDlgItemText (int nID, LPCTSTR lpszString)
 
HWND SetFocus ()
 
void SetFont (HFONT hFont, BOOL bRedraw=TRUE)
 
int SetHotKey (WORD wVirtualKeyCode, WORD wModifiers)
 
HICON SetIcon (HICON hIcon, BOOL bBigIcon=TRUE)
 
BOOL SetMenu (HMENU hMenu)
 
HWND SetParent (HWND hWndNewParent)
 
void SetRedraw (BOOL bRedraw=TRUE)
 
int SetScrollInfo (int nBar, LPSCROLLINFO lpScrollInfo, BOOL bRedraw=TRUE)
 
int SetScrollPos (int nBar, int nPos, BOOL bRedraw=TRUE)
 
BOOL SetScrollRange (int nBar, int nMinPos, int nMaxPos, BOOL bRedraw=TRUE)
 
UINT_PTR SetTimer (UINT_PTR nIDEvent, UINT nElapse, void(CALLBACK *lpfnTimer)(HWND, UINT, UINT_PTR, DWORD)=NULL)
 
BOOL SetWindowContextHelpId (DWORD dwContextHelpId)
 
LONG SetWindowLong (int nIndex, LONG dwNewLong)
 
LONG_PTR SetWindowLongPtr (int nIndex, LONG_PTR dwNewLong)
 
BOOL SetWindowPlacement (const WINDOWPLACEMENT *lpwndpl)
 
BOOL SetWindowPos (HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
 
int SetWindowRgn (HRGN hRgn, BOOL bRedraw=FALSE)
 
BOOL SetWindowText (LPCTSTR lpszString)
 
WORD SetWindowWord (int nIndex, WORD wNewWord)
 
BOOL ShowCaret ()
 
BOOL ShowOwnedPopups (BOOL bShow=TRUE)
 
BOOL ShowScrollBar (UINT nBar, BOOL bShow=TRUE)
 
BOOL ShowWindow (int nCmdShow)
 
BOOL ShowWindowAsync (int nCmdShow)
 
BOOL UpdateWindow ()
 
BOOL ValidateRect (LPCRECT lpRect)
 
BOOL ValidateRgn (HRGN hRgn)
 
BOOL WinHelp (LPCTSTR lpszHelp, UINT nCmd=HELP_CONTEXT, DWORD dwData=0)
 
- Public Member Functions inherited from ATL::CMessageMap
virtual BOOL ProcessWindowMessage (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult, DWORD dwMsgMapID)=0
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
- Public Member Functions inherited from IShellBrowser
HRESULT InsertMenusSB ([in] HMENU hmenuShared, [in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
HRESULT SetMenuSB ([in] HMENU hmenuShared, [in] HOLEMENU holemenuReserved, [in] HWND hwndActiveObject)
 
HRESULT RemoveMenusSB ([in] HMENU hmenuShared)
 
HRESULT SetStatusTextSB ([in, unique] LPCOLESTR pszStatusText)
 
HRESULT EnableModelessSB ([in] BOOL fEnable)
 
HRESULT TranslateAcceleratorSB ([in] MSG *pmsg, [in] WORD wID)
 
HRESULT BrowseObject ([in] PCUIDLIST_RELATIVE pidl, [in] UINT wFlags)
 
HRESULT GetViewStateStream ([in] DWORD grfMode, [out] IStream **ppStrm)
 
HRESULT GetControlWindow ([in] UINT id, [out] HWND *phwnd)
 
HRESULT SendControlMsg ([in] UINT id, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [in] LRESULT *pret)
 
HRESULT QueryActiveShellView ([out] IShellView **ppshv)
 
HRESULT OnViewWindowActive ([in] IShellView *pshv)
 
HRESULT SetToolbarItems ([in] LPTBBUTTONSB lpButtons, [in] UINT nButtons, [in] UINT uFlags)
 
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
HRESULT DragEnter ([in, unique] IDataObject *pDataObj, [in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
 
HRESULT DragOver ([in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
 
HRESULT DragLeave ()
 
HRESULT Drop ([in, unique] IDataObject *pDataObj, [in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
 
- Public Member Functions inherited from IServiceProvider
HRESULT QueryService ([in] REFGUID guidService, [in] REFIID riid, [out] void **ppvObject)
 
HRESULT RemoteQueryService ([in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 
- Public Member Functions inherited from IProfferServiceImpl< CShellBrowser >
STDMETHODIMP ProfferService (REFGUID rguidService, IServiceProvider *psp, DWORD *pdwCookie)
 
STDMETHODIMP RevokeService (DWORD dwCookie)
 
HRESULT QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
 
HRESULT ProfferService ([in] REFGUID service, [in] IServiceProvider *pService, [out] DWORD *pCookie)
 
HRESULT RevokeService ([in] DWORD cookie)
 
HRESULT FindWindowByIndex ([in] DWORD dwID, [out] IUnknown **ppunk)
 
HRESULT GetWindowData ([in] IStream *pStream, [out] LPWINDOWDATA pWinData)
 
HRESULT LoadHistoryPosition ([in] LPWSTR pszUrlLocation, [in] DWORD dwPosition)
 
HRESULT LoadHistory ([in] IStream *pStream, [in] IBindCtx *pbc)
 
HRESULT SaveHistory ([in] IStream *pStream)
 
HRESULT SetPositionCookie ([in] DWORD dwPositioncookie)
 
HRESULT GetPositionCookie ([out] DWORD *pdwPositioncookie)
 
HRESULT GetClassID ([out] CLSID *pClassID)
 
HRESULT QueryStatus ([in, unique] const GUID *pguidCmdGroup, [in] ULONG cCmds, [in, out, size_is(cCmds)] OLECMD prgCmds[], [in, out, unique] OLECMDTEXT *pCmdText)
 
HRESULT Exec ([in, unique] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in, unique] VARIANT *pvaIn, [in, out, unique] VARIANT *pvaOut)
 
- Public Member Functions inherited from IBrowserService2
LRESULT WndProcBS ([in] HWND hwnd, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT SetAsDefFolderSettings ()
 
HRESULT GetViewRect ([in, out] RECT *prc)
 
HRESULT OnSize ([in] WPARAM wParam)
 
HRESULT OnCreate ([in] struct tagCREATESTRUCTW *pcs)
 
LRESULT OnCommand ([in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT OnDestroy ()
 
LRESULT OnNotify ([in, out] struct tagNMHDR *pnm)
 
HRESULT OnSetFocus ()
 
HRESULT OnFrameWindowActivateBS ([in] BOOL fActive)
 
HRESULT ReleaseShellView ()
 
HRESULT ActivatePendingView ()
 
HRESULT CreateViewWindow ([in] IShellView *psvNew, [in] IShellView *psvOld, [out] LPRECT prcView, [out] HWND *phwnd)
 
HRESULT CreateBrowserPropSheetExt ([in] REFIID riid, [out] void **ppv)
 
HRESULT GetViewWindow ([out] HWND *phwndView)
 
HRESULT GetBaseBrowserData ([in, out] LPCBASEBROWSERDATA *pbbd)
 
LPBASEBROWSERDATA PutBaseBrowserData ()
 
HRESULT InitializeTravelLog ([in] ITravelLog *ptl, [in] DWORD dw)
 
HRESULT SetTopBrowser ()
 
HRESULT Offline ([in] int iCmd)
 
HRESULT AllowViewResize ([in] BOOL f)
 
HRESULT SetActivateState ([in] UINT u)
 
HRESULT UpdateSecureLockIcon ([in] int eSecureLock)
 
HRESULT InitializeDownloadManager ()
 
HRESULT InitializeTransitionSite ()
 
HRESULT _Initialize ([in] HWND hwnd, [in] IUnknown *pauto)
 
HRESULT _CancelPendingNavigationAsync ()
 
HRESULT _CancelPendingView ()
 
HRESULT _MaySaveChanges ()
 
HRESULT _PauseOrResumeView ([in] BOOL fPaused)
 
HRESULT _DisableModeless ()
 
HRESULT _NavigateToPidl ([in] PCIDLIST_ABSOLUTE pidl, [in] DWORD grfHLNF, [in] DWORD dwFlags)
 
HRESULT _TryShell2Rename ([in] IShellView *psv, [in] PCIDLIST_ABSOLUTE pidlNew)
 
HRESULT _SwitchActivationNow ()
 
HRESULT _ExecChildren ([in] IUnknown *punkBar, [in] BOOL fBroadcast, [in] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in] VARIANTARG *pvarargIn, [in, out] VARIANTARG *pvarargOut)
 
HRESULT _SendChildren ([in] HWND hwndBar, [in] BOOL fBroadcast, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT GetFolderSetData ([in, out] struct tagFolderSetData *pfsd)
 
HRESULT _OnFocusChange ([in] UINT itb)
 
HRESULT v_ShowHideChildWindows ([in] BOOL fChildOnly)
 
UINT _get_itbLastFocus ()
 
HRESULT _put_itbLastFocus ([in] UINT itbLastFocus)
 
HRESULT _UIActivateView ([in] UINT uState)
 
HRESULT _GetViewBorderRect ([in, out] RECT *prc)
 
HRESULT _UpdateViewRectSize ()
 
HRESULT _ResizeNextBorder ([in] UINT itb)
 
HRESULT _ResizeView ()
 
HRESULT _GetEffectiveClientArea ([in, out] LPRECT lprectBorder, [in] HMONITOR hmon)
 
IStreamv_GetViewStream ([in] PCIDLIST_ABSOLUTE pidl, [in] DWORD grfMode, [in] LPCWSTR pwszName)
 
LRESULT ForwardViewMsg ([in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT SetAcceleratorMenu ([in] HACCEL hacc)
 
int _GetToolbarCount ()
 
LPTOOLBARITEM _GetToolbarItem ([in] int itb)
 
HRESULT _SaveToolbars ([in] IStream *pstm)
 
HRESULT _LoadToolbars ([in] IStream *pstm)
 
HRESULT _CloseAndReleaseToolbars ([in] BOOL fClose)
 
HRESULT v_MayGetNextToolbarFocus ([in] LPMSG lpMsg, [in] UINT itbNext, [in] int citb, [out] LPTOOLBARITEM *pptbi, [out] HWND *phwnd)
 
HRESULT _ResizeNextBorderHelper ([in] UINT itb, [in] BOOL bUseHmonitor)
 
UINT _FindTBar ([in] IUnknown *punkSrc)
 
HRESULT _SetFocus ([in] LPTOOLBARITEM ptbi, [in] HWND hwnd, [in] LPMSG lpMsg)
 
HRESULT v_MayTranslateAccelerator ([in] MSG *pmsg)
 
HRESULT _GetBorderDWHelper ([in] IUnknown *punkSrc, [in] LPRECT lprectBorder, [in] BOOL bUseHmonitor)
 
HRESULT v_CheckZoneCrossing ([in, out] PCIDLIST_ABSOLUTE pidl)
 
- Public Member Functions inherited from IBrowserService
HRESULT GetParentSite ([out] IOleInPlaceSite **ppipsite)
 
HRESULT SetTitle ([in] IShellView *psv, [in] LPCWSTR pszName)
 
HRESULT GetTitle ([in] IShellView *psv, [out, size_is(cchName)] LPWSTR pszName, [in] DWORD cchName)
 
HRESULT GetOleObject ([out] IOleObject **ppobjv)
 
HRESULT GetTravelLog ([out, optional] ITravelLog **pptl)
 
HRESULT ShowControlWindow ([in] UINT id, [in] BOOL fShow)
 
HRESULT IsControlWindowShown ([in] UINT id, [out] BOOL *pfShown)
 
HRESULT IEGetDisplayName ([in] PCIDLIST_ABSOLUTE pidl, [out] LPWSTR pwszName, [in] UINT uFlags)
 
HRESULT IEParseDisplayName ([in] UINT uiCP, [in] LPCWSTR pwszPath, [out] PIDLIST_ABSOLUTE *ppidlOut)
 
HRESULT DisplayParseError ([in] HRESULT hres, [in] LPCWSTR pwszPath)
 
HRESULT NavigateToPidl ([in] PCIDLIST_ABSOLUTE pidl, [in] DWORD grfHLNF)
 
HRESULT SetNavigateState ([in] BNSTATE bnstate)
 
HRESULT GetNavigateState ([out] BNSTATE *pbnstate)
 
HRESULT NotifyRedirect ([in] IShellView *psv, [in] PCIDLIST_ABSOLUTE pidl, [out] BOOL *pfDidBrowse)
 
HRESULT UpdateWindowList ()
 
HRESULT UpdateBackForwardState ()
 
HRESULT SetFlags ([in] DWORD dwFlags, [in] DWORD dwFlagMask)
 
HRESULT GetFlags ([out] DWORD *pdwFlags)
 
HRESULT CanNavigateNow ()
 
HRESULT GetPidl ([out] PIDLIST_ABSOLUTE *ppidl)
 
HRESULT SetReferrer ([in] PCIDLIST_ABSOLUTE pidl)
 
DWORD GetBrowserIndex ()
 
HRESULT GetBrowserByIndex ([in] DWORD dwID, [out] IUnknown **ppunk)
 
HRESULT GetHistoryObject ([out] IOleObject **ppole, [out] IStream **pstm, [out] IBindCtx **ppbc)
 
HRESULT SetHistoryObject ([in] IOleObject *pole, [in] BOOL fIsLocalAnchor)
 
HRESULT CacheOLEServer ([in] IOleObject *pole)
 
HRESULT GetSetCodePage ([in] VARIANT *pvarIn, [out] VARIANT *pvarOut)
 
HRESULT OnHttpEquiv ([in] IShellView *psv, [in] BOOL fDone, [in] VARIANT *pvarargIn, [out] VARIANT *pvarargOut)
 
HRESULT GetPalette ([out] HPALETTE *hpal)
 
HRESULT RegisterWindow ([in] BOOL fForceRegister, [in] int swc)
 
- Public Member Functions inherited from ATL::IConnectionPointContainerImpl< CShellBrowser >
STDMETHOD() EnumConnectionPoints (IEnumConnectionPoints **ppEnum)
 
STDMETHOD() FindConnectionPoint (REFIID riid, IConnectionPoint **ppCP)
 
HRESULT EnumConnectionPoints ([out] IEnumConnectionPoints **ppEnum)
 
HRESULT FindConnectionPoint ([in] REFIID riid, [out] IConnectionPoint **ppCP)
 
- Public Member Functions inherited from MyIConnectionPointImpl< CShellBrowser, &DIID_DWebBrowserEvents2 >
STDMETHODIMP Advise (IUnknown *pUnkSink, DWORD *pdwCookie)
 
- Public Member Functions inherited from MyIConnectionPointImpl< CShellBrowser, &DIID_DWebBrowserEvents >
STDMETHODIMP Advise (IUnknown *pUnkSink, DWORD *pdwCookie)
 

Static Public Member Functions

static LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static ATL::CWndClassInfoGetWndClassInfo ()
 
- Static Public Member Functions inherited from ATL::CWindowImpl< CShellBrowser, CWindow, CFrameWinTraits >
static LPCTSTR GetWndCaption ()
 
- Static Public Member Functions inherited from ATL::CWindowImplBaseT< TBase, TWinTraits >
static DWORD GetWndStyle (DWORD dwStyle)
 
static DWORD GetWndExStyle (DWORD dwExStyle)
 
static LRESULT CALLBACK StartWindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
- Static Public Member Functions inherited from ATL::CWindow
static LPCTSTR GetWndClassName ()
 
static LRESULT SendMessage (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 

Public Attributes

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

Private 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
 

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

Constructor & Destructor Documentation

◆ CShellBrowser()

CShellBrowser::CShellBrowser ( )

Definition at line 729 of file shellbrowser.cpp.

730{
731 m_BrowserSvcFlags = BSF_RESIZABLE | BSF_CANMAXIMIZE;
732 m_Destroyed = false;
744}
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 746 of file shellbrowser.cpp.

747{
748 if (menuDsa)
750}
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 2915 of file shellbrowser.cpp.

2916{
2917 return E_NOTIMPL;
2918}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ _CancelPendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView ( )
override

Implements IBrowserService2.

Definition at line 2920 of file shellbrowser.cpp.

2921{
2922 return E_NOTIMPL;
2923}

◆ _CloseAndReleaseToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars ( BOOL  fClose)
override

Implements IBrowserService2.

Definition at line 3067 of file shellbrowser.cpp.

3068{
3069 return E_NOTIMPL;
3070}

◆ _DisableModeless()

HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless ( )
override

Implements IBrowserService2.

Definition at line 2935 of file shellbrowser.cpp.

2936{
2937 return E_NOTIMPL;
2938}

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

2967{
2968 return E_NOTIMPL;
2969}

◆ _GetBorderDWHelper()

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

Implements IBrowserService2.

Definition at line 3107 of file shellbrowser.cpp.

3108{
3109 return E_NOTIMPL;
3110}

◆ _GetEffectiveClientArea()

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

Implements IBrowserService2.

Definition at line 3027 of file shellbrowser.cpp.

3028{
3029 return E_NOTIMPL;
3030}

◆ _GetViewBorderRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 3007 of file shellbrowser.cpp.

3008{
3009 return E_NOTIMPL;
3010}

◆ _Initialize()

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

Implements IBrowserService2.

Definition at line 2910 of file shellbrowser.cpp.

2911{
2912 return E_NOTIMPL;
2913}

◆ _LoadToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3062 of file shellbrowser.cpp.

3063{
3064 return E_NOTIMPL;
3065}

◆ _MaySaveChanges()

HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges ( )
override

Implements IBrowserService2.

Definition at line 2925 of file shellbrowser.cpp.

2926{
2927 return E_NOTIMPL;
2928}

◆ _NavigateToPidl()

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

Definition at line 2940 of file shellbrowser.cpp.

2941{
2942 const UINT navflags = HLNF_NAVIGATINGBACK | HLNF_NAVIGATINGFORWARD;
2943 if ((grfHLNF & navflags) && grfHLNF != ~0ul)
2944 {
2945 UINT SbspFlags = (grfHLNF & HLNF_NAVIGATINGBACK) ? SBSP_NAVIGATEBACK : SBSP_NAVIGATEFORWARD;
2946 if (grfHLNF & SHHLNF_WRITENOHISTORY)
2947 SbspFlags |= SBSP_WRITENOHISTORY;
2948 if (grfHLNF & SHHLNF_NOAUTOSELECT)
2949 SbspFlags |= SBSP_NOAUTOSELECT;
2950 return BrowseObject(pidl, SbspFlags);
2951 }
2952 return E_NOTIMPL;
2953}
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 2982 of file shellbrowser.cpp.

2983{
2984 return E_NOTIMPL;
2985}

◆ _PauseOrResumeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView ( BOOL  fPaused)
override

Implements IBrowserService2.

Definition at line 2930 of file shellbrowser.cpp.

2931{
2932 return E_NOTIMPL;
2933}

◆ _put_itbLastFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus ( UINT  itbLastFocus)
override

Implements IBrowserService2.

Definition at line 2997 of file shellbrowser.cpp.

2998{
2999 return E_NOTIMPL;
3000}

◆ _ResizeNextBorder()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3017 of file shellbrowser.cpp.

3018{
3019 return E_NOTIMPL;
3020}

◆ _ResizeNextBorderHelper()

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

Implements IBrowserService2.

Definition at line 3078 of file shellbrowser.cpp.

3079{
3080 return E_NOTIMPL;
3081}

◆ _ResizeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView ( )
override

Implements IBrowserService2.

Definition at line 3022 of file shellbrowser.cpp.

3023{
3024 return E_NOTIMPL;
3025}

◆ _SaveToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3057 of file shellbrowser.cpp.

3058{
3059 return E_NOTIMPL;
3060}

◆ _SendChildren()

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

Implements IBrowserService2.

Definition at line 2971 of file shellbrowser.cpp.

2973{
2974 return E_NOTIMPL;
2975}

◆ _SetFocus()

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

Implements IBrowserService2.

Definition at line 3088 of file shellbrowser.cpp.

3089{
3090 return E_NOTIMPL;
3091}

◆ _SwitchActivationNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow ( )
override

Implements IBrowserService2.

Definition at line 2960 of file shellbrowser.cpp.

2961{
2962 return E_NOTIMPL;
2963}

◆ _TryShell2Rename()

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

Definition at line 2955 of file shellbrowser.cpp.

2956{
2957 return E_NOTIMPL;
2958}

◆ _UIActivateView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView ( UINT  uState)
override

Implements IBrowserService2.

Definition at line 3002 of file shellbrowser.cpp.

3003{
3004 return E_NOTIMPL;
3005}

◆ _UpdateViewRectSize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize ( )
override

Implements IBrowserService2.

Definition at line 3012 of file shellbrowser.cpp.

3013{
3014 return E_NOTIMPL;
3015}

◆ ActivatePendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView ( )
override

Implements IBrowserService2.

Definition at line 2838 of file shellbrowser.cpp.

2839{
2840 return E_NOTIMPL;
2841}

◆ AllowViewResize()

HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize ( BOOL  f)
override

Implements IBrowserService2.

Definition at line 2885 of file shellbrowser.cpp.

2886{
2887 return E_NOTIMPL;
2888}

◆ ApplyBrowserDefaultFolderSettings()

HRESULT CShellBrowser::ApplyBrowserDefaultFolderSettings ( IShellView pvs)

Definition at line 814 of file shellbrowser.cpp.

815{
816 HRESULT hr;
817 if (pvs)
818 {
820 SBFOLDERSETTINGS &sbfs = m_deffoldersettings, defsbfs;
821 if (FAILED(pvs->GetCurrentInfo(&sbfs.FolderSettings)))
822 {
823 defsbfs.InitializeDefaults();
824 sbfs = defsbfs;
825 }
827 }
828 else
829 {
832 if (SUCCEEDED(hr))
834 }
835 return hr;
836}
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 838 of file shellbrowser.cpp.

839{
840 if ((Flags & (SBSP_SAMEBROWSER | SBSP_NEWBROWSER)) == SBSP_DEFBROWSER)
841 {
843 Flags |= SBSP_SAMEBROWSER; // Force if this is the first navigation or the folder tree is present
844 else
845 Flags |= (!!gCabinetState.fNewWindowMode) ^ (GetAsyncKeyState(VK_CONTROL) < 0) ? SBSP_NEWBROWSER : SBSP_SAMEBROWSER;
846 }
847 if (Flags & (SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
848 Flags = (Flags & ~SBSP_NEWBROWSER) | SBSP_SAMEBROWSER; // Force same browser for now
849 return Flags;
850}
STDMETHOD() IsControlWindowShown(UINT id, BOOL *pfShown) override
#define S_OK
Definition: intsafe.h:52
BOOL fNewWindowMode
Definition: shlobj.h:2391
#define VK_CONTROL
Definition: winuser.h:2203
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 2331 of file shellbrowser.cpp.

2332{
2334 // FIXME: Should not automatically show the Explorer band
2335 if ((wFlags & SBSP_EXPLOREMODE) && !(wFlags & SBSP_NEWBROWSER))
2336 ShowBand(CLSID_ExplorerBand, true);
2337
2338 CComHeapPtr<ITEMIDLIST> pidlResolved;
2339 if (wFlags & (SBSP_RELATIVE | SBSP_PARENT))
2340 {
2341 HRESULT hr = CreateRelativeBrowsePIDL(pidl, wFlags, &pidlResolved);
2342 if (FAILED(hr))
2343 return hr;
2344 pidl = pidlResolved;
2345 }
2346
2347 if (wFlags & SBSP_NEWBROWSER)
2348 return OpenNewBrowserWindow(pidl, wFlags);
2349
2350 switch (wFlags & (SBSP_ABSOLUTE | SBSP_RELATIVE | SBSP_PARENT | SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
2351 {
2352 case SBSP_PARENT:
2353 return NavigateToParent();
2354 case SBSP_NAVIGATEBACK:
2355 return GoBack();
2356 case SBSP_NAVIGATEFORWARD:
2357 return GoForward();
2358 }
2359
2360 // TODO: SBSP_WRITENOHISTORY? SBSP_CREATENOHISTORY?
2362 if (fTravelLog)
2364 if (wFlags & SBSP_ACTIVATE_NOFOCUS)
2366 return BrowseToPIDL(pidl, flags);
2367}
UINT ApplyNewBrowserFlag(UINT Flags)
HRESULT BrowseToPIDL(LPCITEMIDLIST pidl, long flags)
HRESULT OpenNewBrowserWindow(LPCITEMIDLIST pidl, UINT SbspFlags)
HRESULT CreateRelativeBrowsePIDL(LPCITEMIDLIST relative, UINT SbspFlags, LPITEMIDLIST *ppidl)
HRESULT NavigateToParent()
CComPtr< ITravelLog > fTravelLog
STDMETHOD() GoBack() override
HRESULT ShowBand(const CLSID &classID, bool vertical)
STDMETHOD() GoForward() override
static const long BTP_ACTIVATE_NOFOCUS
static const long BTP_UPDATE_NEXT_HISTORY
static const long BTP_UPDATE_CUR_HISTORY
GLbitfield flags
Definition: glext.h:7161
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531

Referenced by _NavigateToPidl(), and Navigate().

◆ BrowseToPath()

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

Definition at line 1010 of file shellbrowser.cpp.

1012{
1013 CComPtr<IShellFolder> saveCurrentShellFolder;
1014 CComPtr<IShellView> saveCurrentShellView;
1015 CComPtr<IShellView> newShellView;
1016 CComPtr<ITravelLog> travelLog;
1017 HWND newShellViewWindow;
1018 BOOL windowUpdateIsLocked;
1019 RECT shellViewWindowBounds;
1020 HWND previousView;
1021 HCURSOR saveCursor;
1022 wchar_t newTitle[MAX_PATH];
1023 SHGDNF nameFlags;
1024 HRESULT hResult;
1025 //TODO: BOOL nohistory = m_BrowserSvcFlags & BSF_NAVNOHISTORY;
1026
1027 if (m_Destroyed)
1028 return S_FALSE;
1029
1030 if (newShellFolder == NULL)
1031 return E_INVALIDARG;
1032
1033 hResult = GetTravelLog(&travelLog);
1034 if (FAILED_UNEXPECTEDLY(hResult))
1035 return hResult;
1036
1037 // update history
1039 {
1040 if (travelLog->CountEntries(static_cast<IDropTarget *>(this)) > 0)
1041 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1042 // what to do with error? Do we want to halt browse because state save failed?
1043 }
1044
1046 {
1047 SaveViewState();
1048 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
1049 }
1050
1051 // create view object
1052 hResult = newShellFolder->CreateViewObject(m_hWnd, IID_PPV_ARG(IShellView, &newShellView));
1053 if (FAILED_UNEXPECTEDLY(hResult))
1054 return hResult;
1055 previousView = fCurrentShellViewWindow;
1056
1057 // enter updating section
1058 saveCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
1059 windowUpdateIsLocked = LockWindowUpdate(TRUE);
1060 if (fCurrentShellView != NULL)
1062
1063 // set site
1064 hResult = IUnknown_SetSite(newShellView, static_cast<IDropTarget *>(this));
1065
1066 // update folder and view
1067 saveCurrentShellFolder = fCurrentShellFolder;
1068 saveCurrentShellView = fCurrentShellView;
1069 fCurrentShellFolder = newShellFolder;
1070 fCurrentShellView = newShellView;
1071
1072 // get boundary
1073 if (previousView != NULL)
1074 ::GetWindowRect(previousView, &shellViewWindowBounds);
1075 else
1076 ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds));
1077 ::MapWindowPoints(0, m_hWnd, reinterpret_cast<POINT *>(&shellViewWindowBounds), 2);
1078
1079 // update current pidl
1081 fCurrentDirectoryPIDL = ILClone(absolutePIDL);
1082
1083 // create view window
1084 hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings,
1085 this, &shellViewWindowBounds, &newShellViewWindow);
1086 if (FAILED_UNEXPECTEDLY(hResult) || newShellViewWindow == NULL)
1087 {
1088 fCurrentShellView = saveCurrentShellView;
1089 fCurrentShellFolder = saveCurrentShellFolder;
1091 if (windowUpdateIsLocked)
1093 SetCursor(saveCursor);
1094 return hResult;
1095 }
1096
1097 // update view window
1098 if (saveCurrentShellView != NULL)
1099 saveCurrentShellView->DestroyViewWindow();
1100 fCurrentShellViewWindow = newShellViewWindow;
1101
1102 if (previousView == NULL)
1103 {
1105 }
1106
1107 // no use
1108 saveCurrentShellView.Release();
1109 saveCurrentShellFolder.Release();
1110
1111 hResult = newShellView->UIActivate((flags & BTP_ACTIVATE_NOFOCUS) ? SVUIA_ACTIVATE_NOFOCUS : SVUIA_ACTIVATE_FOCUS);
1112
1113 // leave updating section
1114 if (windowUpdateIsLocked)
1116 SetCursor(saveCursor);
1117
1118 // update history
1120 {
1121 hResult = travelLog->AddEntry(static_cast<IDropTarget *>(this), FALSE);
1122 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1123 }
1124
1125 // completed
1126 nameFlags = SHGDN_FORADDRESSBAR | SHGDN_FORPARSING;
1127 hResult = IEGetNameAndFlags(fCurrentDirectoryPIDL, nameFlags, newTitle,
1128 sizeof(newTitle) / sizeof(wchar_t), NULL);
1129 if (SUCCEEDED(hResult))
1130 {
1131 FireNavigateComplete(newTitle);
1132 }
1133 else
1134 {
1135 FireNavigateComplete(L"ERROR");
1136 }
1137
1139
1140 LPCITEMIDLIST pidlChild;
1141 INT index, indexOpen;
1142 HIMAGELIST himlSmall, himlLarge;
1143
1145 hResult = SHBindToParent(absolutePIDL, IID_PPV_ARG(IShellFolder, &sf), &pidlChild);
1146 if (SUCCEEDED(hResult))
1147 {
1148 index = SHMapPIDLToSystemImageListIndex(sf, pidlChild, &indexOpen);
1149
1150 Shell_GetImageLists(&himlLarge, &himlSmall);
1151
1152 HICON icSmall = ImageList_GetIcon(himlSmall, indexOpen, 0);
1153 HICON icLarge = ImageList_GetIcon(himlLarge, indexOpen, 0);
1154
1155 /* Hack to make it possible to release the old icons */
1156 /* Something seems to go wrong with WM_SETICON */
1157 HICON oldSmall = (HICON)SendMessage(WM_GETICON, ICON_SMALL, 0);
1158 HICON oldLarge = (HICON)SendMessage(WM_GETICON, ICON_BIG, 0);
1159
1160 SendMessage(WM_SETICON, ICON_SMALL, reinterpret_cast<LPARAM>(icSmall));
1161 SendMessage(WM_SETICON, ICON_BIG, reinterpret_cast<LPARAM>(icLarge));
1162
1163 DestroyIcon(oldSmall);
1164 DestroyIcon(oldLarge);
1165 }
1166
1168 hResult = UpdateForwardBackState();
1169 hResult = UpdateUpState();
1170 return S_OK;
1171}
#define index(s, c)
Definition: various.h:29
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:1963
#define MAX_PATH
Definition: compat.h:34
#define FAILED_UNEXPECTEDLY(hr)
Definition: precomp.h:121
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
Definition: ordinal.c:1407
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint index
Definition: glext.h:6031
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
Definition: iconcache.cpp:683
int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder *sh, LPCITEMIDLIST pidl, int *pIndex)
Definition: iconcache.cpp:766
HRESULT CreateViewObject([in] HWND hwndOwner, [in] REFIID riid, [out, iid_is(riid)] void **ppvOut)
static HICON
Definition: imagelist.c:84
#define L(x)
Definition: ntvdm.h:50
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:237
void WINAPI ILFree(LPITEMIDLIST pidl)
Definition: pidl.c:940
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
Definition: pidl.c:1350
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:1712
LONG_PTR LPARAM
Definition: windef.h:208
HICON HCURSOR
Definition: windef.h:299
#define S_FALSE
Definition: winerror.h:2357
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI LockWindowUpdate(_In_opt_ HWND)
#define SendMessage
Definition: winuser.h:5852
#define LoadCursor
Definition: winuser.h:5821
#define IDC_WAIT
Definition: winuser.h:689
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2097
#define WM_SETREDRAW
Definition: winuser.h:1616
#define IID_PPV_ARG(Itype, ppType)

Referenced by BrowseToPIDL().

◆ BrowseToPIDL()

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

Definition at line 884 of file shellbrowser.cpp.

885{
886 CComPtr<IShellFolder> newFolder;
888 HRESULT hResult;
889 CLSID clsid;
890 BOOL HasIconViewType;
891
892 // called by shell view to browse to new folder
893 // also called by explorer band to navigate to new folder
894 hResult = SHBindToFolder(pidl, &newFolder);
895 if (FAILED_UNEXPECTEDLY(hResult))
896 return hResult;
897 // HACK & FIXME: Get view mode from shellbag when fully implemented.
898 IUnknown_GetClassID(newFolder, &clsid);
899 HasIconViewType = clsid == CLSID_MyComputer || clsid == CLSID_ControlPanel ||
900 clsid == CLSID_ShellDesktop;
901
902 if (HasIconViewType)
903 newFolderSettings.ViewMode = FVM_ICON;
904 hResult = BrowseToPath(newFolder, pidl, &newFolderSettings, flags);
905 if (FAILED_UNEXPECTEDLY(hResult))
906 return hResult;
907 return S_OK;
908}
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:1453
REFCLSID clsid
Definition: msctf.c:82
@ FVM_ICON
Definition: shobjidl.idl:678

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

◆ BuildExplorerBandCategory()

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

Definition at line 1852 of file shellbrowser.cpp.

1853{
1854 HRESULT hr;
1855 CComPtr<IEnumGUID> pEnumGUID;
1856 WCHAR wszBandName[MAX_PATH];
1857 WCHAR wszBandGUID[MAX_PATH];
1858 WCHAR wRegKey[MAX_PATH];
1859 UINT cBands;
1860 DWORD dwRead;
1861 DWORD dwDataSize;
1862 GUID iter;
1863 MenuBandInfo mbi;
1864
1865 mbi.fVertical = IsEqualGUID(category, CATID_InfoBand);
1866 cBands = 0;
1867 hr = SHEnumClassesOfCategories(1, &category, 0, NULL, &pEnumGUID);
1869 {
1870 return hr;
1871 }
1872 do
1873 {
1874 pEnumGUID->Next(1, &iter, &dwRead);
1875 if (dwRead)
1876 {
1877 // Get the band name
1878 if (IsBuiltinBand(iter))
1879 continue;
1880 if (!StringFromGUID2(iter, wszBandGUID, MAX_PATH))
1881 continue;
1882 StringCchPrintfW(wRegKey, MAX_PATH, L"CLSID\\%s", wszBandGUID);
1883 dwDataSize = MAX_PATH;
1884 SHGetValue(HKEY_CLASSES_ROOT, wRegKey, NULL, NULL, wszBandName, &dwDataSize);
1885
1886 mbi.barGuid = iter;
1887 InsertMenu(hBandsMenu, dwPos + cBands, MF_BYPOSITION, IDM_EXPLORERBAND_BEGINCUSTOM + DSA_GetItemCount(menuDsa), wszBandName);
1888 DSA_AppendItem(menuDsa, &mbi);
1889 cBands++;
1890 }
1891 }
1892 while (dwRead > 0);
1893 if (nbFound)
1894 *nbFound = cBands;
1895 return S_OK;
1896}
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
BOOL IsBuiltinBand(CLSID &bandID)
#define IDM_EXPLORERBAND_BEGINCUSTOM
Definition: resource.h:79
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:4827
#define DSA_GetItemCount(hdsa)
Definition: commctrl.h:4826
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define SHGetValue
Definition: shlwapi.h:70
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:5812
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by BuildExplorerBandMenu().

◆ BuildExplorerBandMenu()

HRESULT CShellBrowser::BuildExplorerBandMenu ( )

Definition at line 1828 of file shellbrowser.cpp.

1829{
1830 HMENU hBandsMenu;
1831 UINT nbFound;
1832
1834 if (!hBandsMenu)
1835 {
1836 OutputDebugString(L"No menu !\n");
1837 return E_FAIL;
1838 }
1840 BuildExplorerBandCategory(hBandsMenu, CATID_InfoBand, 4, NULL);
1841 BuildExplorerBandCategory(hBandsMenu, CATID_CommBand, 20, &nbFound);
1842 if (!nbFound)
1843 {
1844 // Remove separator
1846 }
1847 // Remove media menu since XP does it (according to API Monitor)
1849 return S_OK;
1850}
HRESULT BuildExplorerBandCategory(HMENU hBandsMenu, CATID category, DWORD dwPos, UINT *nbFound)
#define E_FAIL
Definition: ddrawi.h:102
#define IDM_EXPLORERBAR_MEDIA
Definition: resource.h:41
#define IDM_VIEW_EXPLORERBAR
Definition: resource.h:38
#define IDM_EXPLORERBAR_SEPARATOR
Definition: resource.h:44
HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
Definition: ordinal.c:1993
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:3890
#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 2750 of file shellbrowser.cpp.

2751{
2752 return E_NOTIMPL;
2753}

◆ CanNavigateNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow ( void  )
override

Implements IBrowserService.

Definition at line 2698 of file shellbrowser.cpp.

2699{
2700 return E_NOTIMPL;
2701}

◆ ClientToWindow()

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

Definition at line 3280 of file shellbrowser.cpp.

3281{
3282 return E_NOTIMPL;
3283}

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 2243 of file shellbrowser.cpp.

2244{
2245 return E_NOTIMPL;
2246}

◆ CreateBrowserPropSheetExt()

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

Implements IBrowserService2.

Definition at line 2849 of file shellbrowser.cpp.

2850{
2851 return E_NOTIMPL;
2852}

◆ CreateRelativeBrowsePIDL()

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

Definition at line 867 of file shellbrowser.cpp.

868{
869 if (SbspFlags & SBSP_RELATIVE)
870 return SHILCombine(fCurrentDirectoryPIDL, relative, ppidl);
871
872 if (SbspFlags & SBSP_PARENT)
873 {
874 HRESULT hr = GetPidl(ppidl);
875 if (FAILED(hr))
876 return hr;
877 ILRemoveLastID(*ppidl);
878 return S_OK;
879 }
880 // TODO: SBSP_NAVIGATEBACK and SBSP_NAVIGATEFORWARD?
881 return E_UNEXPECTED;
882}
STDMETHOD() GetPidl(LPITEMIDLIST *ppidl) override
BOOL WINAPI ILRemoveLastID(LPITEMIDLIST pidl)
Definition: pidl.c:221
#define E_UNEXPECTED
Definition: winerror.h:2456

Referenced by BrowseObject().

◆ CreateViewWindow()

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

Implements IBrowserService2.

Definition at line 2843 of file shellbrowser.cpp.

2845{
2846 return E_NOTIMPL;
2847}

◆ DisplayParseError()

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

Implements IBrowserService.

Definition at line 2651 of file shellbrowser.cpp.

2652{
2653 return E_NOTIMPL;
2654}

◆ DoFolderOptions()

HRESULT CShellBrowser::DoFolderOptions ( )

Definition at line 1410 of file shellbrowser.cpp.

1411{
1412 CComPtr<IShellPropSheetExt> folderOptionsSheet;
1413 PROPSHEETHEADER m_PropSheet;
1415// CComPtr<IGlobalFolderSettings> globalSettings;
1416// SHELLSTATE2 shellState;
1417 HRESULT hResult;
1418
1419 memset(m_psp, 0, sizeof(m_psp));
1420 memset(&m_PropSheet, 0, sizeof(m_PropSheet));
1421
1422 // create sheet object
1423 hResult = CoCreateInstance(CLSID_ShellFldSetExt, NULL, CLSCTX_INPROC_SERVER,
1424 IID_PPV_ARG(IShellPropSheetExt, &folderOptionsSheet));
1425 if (FAILED_UNEXPECTEDLY(hResult))
1426 return E_FAIL;
1427
1428 // must set site in order for Apply to all Folders on Advanced page to be enabled
1429 hResult = IUnknown_SetSite(folderOptionsSheet, static_cast<IDispatch *>(this));
1430 m_PropSheet.phpage = m_psp;
1431
1432#if 0
1433 hResult = CoCreateInstance(CLSID_GlobalFolderSettings, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IGlobalFolderSettings, &globalSettings));
1434 if (FAILED_UNEXPECTEDLY(hResult))
1435 return E_FAIL;
1436 hResult = globalSettings->Get(&shellState, sizeof(shellState));
1437 if (FAILED_UNEXPECTEDLY(hResult))
1438 return E_FAIL;
1439#endif
1440
1441 // add pages
1442 hResult = folderOptionsSheet->AddPages(AddFolderOptionsPage, reinterpret_cast<LPARAM>(&m_PropSheet));
1443 if (FAILED_UNEXPECTEDLY(hResult))
1444 return E_FAIL;
1445
1447 {
1448 hResult = fCurrentShellView->AddPropertySheetPages(
1449 0, AddFolderOptionsPage, reinterpret_cast<LPARAM>(&m_PropSheet));
1450 if (FAILED_UNEXPECTEDLY(hResult))
1451 return E_FAIL;
1452 }
1453
1454 // show sheet
1455 CStringW strFolderOptions(MAKEINTRESOURCEW(IDS_FOLDER_OPTIONS));
1456 m_PropSheet.dwSize = sizeof(PROPSHEETHEADER);
1457 m_PropSheet.dwFlags = 0;
1458 m_PropSheet.hwndParent = m_hWnd;
1459 m_PropSheet.hInstance = _AtlBaseModule.GetResourceInstance();
1460 m_PropSheet.pszCaption = strFolderOptions;
1461 m_PropSheet.nStartPage = 0;
1462 PropertySheet(&m_PropSheet);
1463 return S_OK;
1464}
#define IDS_FOLDER_OPTIONS
Definition: resource.h:134
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 2447 of file shellbrowser.cpp.

2449{
2450 return E_NOTIMPL;
2451}

◆ DragLeave()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave ( void  )
override

Implements IDropTarget.

Definition at line 2458 of file shellbrowser.cpp.

2459{
2460 return E_NOTIMPL;
2461}

◆ DragOver()

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

Implements IDropTarget.

Definition at line 2453 of file shellbrowser.cpp.

2454{
2455 return E_NOTIMPL;
2456}

◆ Drop()

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

Implements IDropTarget.

Definition at line 2463 of file shellbrowser.cpp.

2465{
2466 return E_NOTIMPL;
2467}

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB ( BOOL  fEnable)
override

Implements IShellBrowser.

Definition at line 2319 of file shellbrowser.cpp.

2320{
2321 return E_NOTIMPL;
2322}

◆ Exec()

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

Implements IOleCommandTarget.

Definition at line 2089 of file shellbrowser.cpp.

2091{
2092 HRESULT hResult;
2093
2094 if (!pguidCmdGroup)
2095 {
2096 TRACE("Unhandled null CGID %d %d %p %p\n", nCmdID, nCmdexecopt, pvaIn, pvaOut);
2097 return E_NOTIMPL;
2098 }
2099 if (IsEqualIID(*pguidCmdGroup, CGID_Explorer))
2100 {
2101 switch (nCmdID)
2102 {
2103 case 0x1c: //Toggle Search
2104 case 0x1d: //Toggle History
2105 case 0x1e: //Toggle Favorites
2106 case SBCMDID_EXPLORERBARFOLDERS: //Toggle Folders
2107 const GUID* pclsid;
2108 if (nCmdID == 0x1c) pclsid = &CLSID_FileSearchBand;
2109 else if (nCmdID == 0x1d) pclsid = &CLSID_SH_HistBand;
2110 else if (nCmdID == 0x1e) pclsid = &CLSID_SH_FavBand;
2111 else pclsid = &CLSID_ExplorerBand;
2112
2113 if (IsEqualCLSID(*pclsid, fCurrentVertBar))
2114 {
2115 hResult = IUnknown_ShowDW(fClientBars[BIVerticalBaseBar].clientBar.p, FALSE);
2118 }
2119 else
2120 {
2121 hResult = ShowBand(*pclsid, true);
2122 }
2123 return S_OK;
2124 case 0x22:
2125 //Sent when a band closes
2126 if (V_VT(pvaIn) != VT_UNKNOWN)
2127 return E_INVALIDARG;
2128
2129 if (IUnknownIsEqual(V_UNKNOWN(pvaIn), fClientBars[BIVerticalBaseBar].clientBar.p))
2130 {
2133 }
2134 return S_OK;
2135 case 0x27:
2136 if (nCmdexecopt == 1)
2137 {
2138 // pvaIn is a VT_UNKNOWN with a band that is being hidden
2139 }
2140 else
2141 {
2142 // update zones part of the status bar
2143 }
2144 return S_OK;
2145 case 0x35: // don't do this, and the internet toolbar doesn't create a menu band
2146 V_VT(pvaOut) = VT_INT_PTR;
2147 V_INTREF(pvaOut) = reinterpret_cast<INT *>(
2148 LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU)));
2149 return S_OK;
2150 case 0x38:
2151 // indicate if this cabinet was opened as a browser
2152 return S_FALSE;
2153 default:
2154 return E_NOTIMPL;
2155 }
2156 }
2157 else if (IsEqualIID(*pguidCmdGroup, CGID_InternetButtons))
2158 {
2159 switch (nCmdID)
2160 {
2161 case 0x23:
2162 // placeholder
2163 return S_OK;
2164 }
2165 }
2166 else if (IsEqualIID(*pguidCmdGroup, CGID_Theater))
2167 {
2168 switch (nCmdID)
2169 {
2170 case 6:
2171 // what is theater mode and why do we receive this?
2172 return E_NOTIMPL;
2173 }
2174 }
2175 else if (IsEqualIID(*pguidCmdGroup, CGID_MenuBand))
2176 {
2177 switch (nCmdID)
2178 {
2179 case 14:
2180 // initialize favorites menu
2181 return S_OK;
2182 }
2183 }
2184 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView))
2185 {
2186 switch (nCmdID)
2187 {
2188 case 0x12:
2189 // refresh on toolbar clicked
2190 return S_OK;
2191 case 0x26:
2192 // called for unknown bands ?
2193 return S_OK;
2194 case 0x4d:
2195 // tell the view if it should hide the task pane or not
2196 return (fClientBars[BIVerticalBaseBar].clientBar.p == NULL) ? S_FALSE : S_OK;
2197 }
2198 }
2199 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser))
2200 {
2201 switch (nCmdID)
2202 {
2203 case 40994:
2204 return NavigateToParent();
2207 break;
2208 }
2209 }
2210 else if (IsEqualIID(*pguidCmdGroup, CGID_IExplorerToolbar))
2211 {
2212 switch (nCmdID)
2213 {
2214 case 0x7063:
2215 return DoFolderOptions();
2216 }
2217 }
2218 else if (IsEqualIID(*pguidCmdGroup, CGID_DefView))
2219 {
2220 switch (nCmdID)
2221 {
2225 break;
2226 }
2227 }
2228 else
2229 {
2230 return E_NOTIMPL;
2231 }
2232 return E_NOTIMPL;
2233}
static const int BIVerticalBaseBar
HRESULT DoFolderOptions()
barInfo fClientBars[3]
HRESULT ApplyBrowserDefaultFolderSettings(IShellView *pvs)
void SaveITBarLayout()
#define IDM_NOTIFYITBARDIRTY
Definition: resource.h:76
#define IDM_CABINET_MAINMENU
Definition: resource.h:89
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:1083
#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:247
#define CGID_IExplorerToolbar
#define CGID_MenuBand
#define SBCMDID_EXPLORERBARFOLDERS
Definition: shlobj_undoc.h:64
#define DVCMDID_RESET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:90
#define TRACE(s)
Definition: solgame.cpp:4
#define LoadMenu
Definition: winuser.h:5826
#define MAKEINTRESOURCE
Definition: winuser.h:591

Referenced by ShowControlWindow().

◆ ExecWB()

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

Definition at line 3405 of file shellbrowser.cpp.

3407{
3408 return E_NOTIMPL;
3409}

◆ FindWindowByIndex()

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

Implements ITravelLogClient.

Definition at line 3500 of file shellbrowser.cpp.

3501{
3502 return E_NOTIMPL;
3503}

◆ FireCommandStateChange()

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

Definition at line 1655 of file shellbrowser.cpp.

1656{
1657 VARIANT varArg[2];
1658
1659 V_VT(&varArg[0]) = VT_BOOL;
1660 V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE;
1661 V_VT(&varArg[1]) = VT_I4;
1662 V_I4(&varArg[1]) = commandID;
1663
1664 return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg);
1665}
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 1667 of file shellbrowser.cpp.

1668{
1669 return FireCommandStateChange(false, -1);
1670}
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 1598 of file shellbrowser.cpp.

1599{
1603 HRESULT hResult;
1604
1605 params.rgvarg = arguments;
1606 params.rgdispidNamedArgs = NULL;
1607 params.cArgs = argCount;
1608 params.cNamedArgs = 0;
1609 IUnknown** pp = vec.begin();
1610 while (pp < vec.end())
1611 {
1612 if (*pp != NULL)
1613 {
1614 CComPtr<IDispatch> theDispatch;
1615
1616 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1617 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1618 }
1619 pp++;
1620 }
1621 pp = vec2.begin();
1622 while (pp < vec2.end())
1623 {
1624 if (*pp != NULL)
1625 {
1626 CComPtr<IDispatch> theDispatch;
1627
1628 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1629 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1630 }
1631 pp++;
1632 }
1633 return S_OK;
1634}
IUnknown ** end()
Definition: atlcom.h:1128
IUnknown ** begin()
Definition: atlcom.h:1123
FT_Vector * vec
Definition: ftbbox.c:448
GLenum const GLfloat * params
Definition: glext.h:5645
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define GUID_NULL
Definition: ks.h:106
struct stdole::DISPPARAMS DISPPARAMS
#define DISPATCH_METHOD
Definition: oleauto.h:1006

Referenced by FireCommandStateChange(), and FireNavigateComplete().

◆ FireNavigateComplete()

HRESULT CShellBrowser::FireNavigateComplete ( const wchar_t newDirectory)

Definition at line 1636 of file shellbrowser.cpp.

1637{
1638 // these two variants intentionally to do use CComVariant because it would double free/release
1639 // or does not need to dispose at all
1640 VARIANT varArg[2];
1641 VARIANT varArgs;
1642 CComBSTR tempString(newDirectory);
1643
1644 V_VT(&varArgs) = VT_BSTR;
1645 V_BSTR(&varArgs) = tempString.m_str;
1646
1647 V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF;
1648 V_VARIANTREF(&varArg[0]) = &varArgs;
1649 V_VT(&varArg[1]) = VT_DISPATCH;
1650 V_DISPATCH(&varArg[1]) = (IDispatch *)this;
1651
1652 return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg);
1653}
@ 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 3480 of file shellbrowser.cpp.

3481{
3482 return E_NOTIMPL;
3483}

◆ get_Application()

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

Definition at line 3186 of file shellbrowser.cpp.

3187{
3188 return E_NOTIMPL;
3189}

◆ get_Busy()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy ( VARIANT_BOOL pBool)
override

Definition at line 3270 of file shellbrowser.cpp.

3271{
3272 return E_NOTIMPL;
3273}

◆ get_Container()

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

Definition at line 3196 of file shellbrowser.cpp.

3197{
3198 return E_NOTIMPL;
3199}

◆ get_Document()

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

Definition at line 3201 of file shellbrowser.cpp.

3202{
3203 return E_NOTIMPL;
3204}

◆ get_FullName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName ( BSTR FullName)
override

Definition at line 3305 of file shellbrowser.cpp.

3306{
3307 return E_NOTIMPL;
3308}

◆ get_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen ( VARIANT_BOOL pbFullScreen)
override

Definition at line 3365 of file shellbrowser.cpp.

3366{
3367 return E_NOTIMPL;
3368}

◆ get_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height ( long pl)
override

Definition at line 3248 of file shellbrowser.cpp.

3249{
3250 return E_NOTIMPL;
3251}

◆ get_HWND()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND ( SHANDLE_PTR pHWND)
override

Definition at line 3300 of file shellbrowser.cpp.

3301{
3302 return E_NOTIMPL;
3303}

◆ get_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left ( long pl)
override

Definition at line 3218 of file shellbrowser.cpp.

3219{
3220 return E_NOTIMPL;
3221}

◆ get_LocationName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName ( BSTR LocationName)
override

Definition at line 3260 of file shellbrowser.cpp.

3261{
3262 return E_NOTIMPL;
3263}

◆ get_LocationURL()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL ( BSTR LocationURL)
override

Definition at line 3265 of file shellbrowser.cpp.

3266{
3267 return E_NOTIMPL;
3268}

◆ get_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar ( VARIANT_BOOL Value)
override

Definition at line 3355 of file shellbrowser.cpp.

3356{
3357 return E_NOTIMPL;
3358}

◆ get_Name()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name ( BSTR Name)
override

Definition at line 3295 of file shellbrowser.cpp.

3296{
3297 return E_NOTIMPL;
3298}

◆ get_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline ( VARIANT_BOOL pbOffline)
override

Definition at line 3430 of file shellbrowser.cpp.

3431{
3432 return E_NOTIMPL;
3433}

◆ get_Parent()

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

Definition at line 3191 of file shellbrowser.cpp.

3192{
3193 return E_NOTIMPL;
3194}

◆ get_Path()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path ( BSTR Path)
override

Definition at line 3310 of file shellbrowser.cpp.

3311{
3312 return E_NOTIMPL;
3313}

◆ get_ReadyState()

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

Definition at line 3425 of file shellbrowser.cpp.

3426{
3427 return E_NOTIMPL;
3428}

◆ get_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser ( VARIANT_BOOL pbRegister)
override

Definition at line 3450 of file shellbrowser.cpp.

3451{
3452 return E_NOTIMPL;
3453}

◆ get_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget ( VARIANT_BOOL pbRegister)
override

Definition at line 3460 of file shellbrowser.cpp.

3461{
3462 return E_NOTIMPL;
3463}

◆ get_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable ( VARIANT_BOOL Value)
override

Definition at line 3490 of file shellbrowser.cpp.

3491{
3492 return E_NOTIMPL;
3493}

◆ get_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent ( VARIANT_BOOL pbSilent)
override

Definition at line 3440 of file shellbrowser.cpp.

3441{
3442 return E_NOTIMPL;
3443}

◆ get_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar ( VARIANT_BOOL pBool)
override

Definition at line 3325 of file shellbrowser.cpp.

3326{
3327 return E_NOTIMPL;
3328}

◆ get_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText ( BSTR StatusText)
override

Definition at line 3335 of file shellbrowser.cpp.

3336{
3337 return E_NOTIMPL;
3338}

◆ get_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode ( VARIANT_BOOL pbRegister)
override

Definition at line 3470 of file shellbrowser.cpp.

3471{
3472 return E_NOTIMPL;
3473}

◆ get_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar ( int Value)
override

Definition at line 3345 of file shellbrowser.cpp.

3346{
3347 return E_NOTIMPL;
3348}

◆ get_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top ( long pl)
override

Definition at line 3228 of file shellbrowser.cpp.

3229{
3230 return E_NOTIMPL;
3231}

◆ get_TopLevelContainer()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer ( VARIANT_BOOL pBool)
override

Definition at line 3206 of file shellbrowser.cpp.

3207{
3208 return E_NOTIMPL;
3209}

◆ get_Type()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type ( BSTR Type)
override

Definition at line 3211 of file shellbrowser.cpp.

3212{
3213 return E_NOTIMPL;
3214}

◆ get_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible ( VARIANT_BOOL pBool)
override

Definition at line 3315 of file shellbrowser.cpp.

3316{
3317 return E_NOTIMPL;
3318}

◆ get_Width()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Width ( long pl)
override

Definition at line 3238 of file shellbrowser.cpp.

3239{
3240 return E_NOTIMPL;
3241}

◆ GetBaseBar()

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

Definition at line 1193 of file shellbrowser.cpp.

1194{
1195 CComPtr<IUnknown> newBaseBar;
1196 CComPtr<IDeskBar> deskBar;
1197 CComPtr<IUnknown> newBaseBarSite;
1198 CComPtr<IDeskBarClient> deskBarClient;
1199 IUnknown **cache;
1200 HRESULT hResult;
1201
1202 if (vertical)
1204 else
1206 if (*cache == NULL)
1207 {
1208 hResult = CBaseBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBar), vertical);
1209 if (FAILED_UNEXPECTEDLY(hResult))
1210 return hResult;
1211 hResult = CBaseBarSite_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBarSite), vertical);
1212 if (FAILED_UNEXPECTEDLY(hResult))
1213 return hResult;
1214
1215 // we have to store our basebar into cache now
1216 *cache = newBaseBar;
1217 (*cache)->AddRef();
1218
1219 // tell the new base bar about the shell browser
1220 hResult = IUnknown_SetSite(newBaseBar, static_cast<IDropTarget *>(this));
1221 if (FAILED_UNEXPECTEDLY(hResult))
1222 return hResult;
1223
1224 // tell the new base bar about the new base bar site
1225 hResult = newBaseBar->QueryInterface(IID_PPV_ARG(IDeskBar, &deskBar));
1226 if (FAILED_UNEXPECTEDLY(hResult))
1227 return hResult;
1228 hResult = deskBar->SetClient(newBaseBarSite);
1229 if (FAILED_UNEXPECTEDLY(hResult))
1230 return hResult;
1231
1232 // tell the new base bar site about the new base bar
1233 hResult = newBaseBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &deskBarClient));
1234 if (FAILED_UNEXPECTEDLY(hResult))
1235 return hResult;
1236 hResult = deskBarClient->SetDeskBarSite(newBaseBar);
1237 if (FAILED_UNEXPECTEDLY(hResult))
1238 return hResult;
1239
1240 }
1241 return (*cache)->QueryInterface(riid, theBaseBar);
1242}
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 2859 of file shellbrowser.cpp.

2860{
2861 return E_NOTIMPL;
2862}

◆ GetBorderDW()

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

Definition at line 1967 of file shellbrowser.cpp.

1968{
1969 static const INT excludeItems[] = { 1, 1, 1, IDC_STATUSBAR, 0, 0 };
1970
1971 RECT availableBounds;
1972
1973 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
1974 for (INT x = 0; x < 3; x++)
1975 {
1976 if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
1977 {
1978 availableBounds.top += fClientBars[x].borderSpace.top;
1979 availableBounds.left += fClientBars[x].borderSpace.left;
1980 availableBounds.bottom -= fClientBars[x].borderSpace.bottom;
1981 availableBounds.right -= fClientBars[x].borderSpace.right;
1982 }
1983 }
1984 *prcBorder = availableBounds;
1985 return S_OK;
1986}
#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 2719 of file shellbrowser.cpp.

2720{
2721 return E_NOTIMPL;
2722}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 3524 of file shellbrowser.cpp.

3525{
3526 return E_NOTIMPL;
3527}

◆ GetControlWindow()

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

Implements IShellBrowser.

Definition at line 2374 of file shellbrowser.cpp.

2375{
2376 if (lphwnd == NULL)
2377 return E_POINTER;
2378 *lphwnd = NULL;
2379 switch (id)
2380 {
2381 case FCW_TOOLBAR:
2382 *lphwnd = fToolbarProxy.m_hWnd;
2383 return S_OK;
2384 case FCW_STATUS:
2385 *lphwnd = fStatusBar;
2386 return S_OK;
2387 case FCW_TREE:
2388 {
2389 BOOL shown;
2390 if (SUCCEEDED(IsControlWindowShown(id, &shown)) && shown)
2391 return IUnknown_GetWindow(fClientBars[BIVerticalBaseBar].clientBar.p, lphwnd);
2392 return S_FALSE;
2393 }
2394 case FCW_PROGRESS:
2395 // is this a progress dialog?
2396 return S_OK;
2397 }
2398 return S_OK;
2399}
CToolbarProxy fToolbarProxy
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:1332
#define E_POINTER
Definition: winerror.h:2365

◆ GetFlags()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetFlags ( DWORD pdwFlags)
override

Implements IBrowserService.

Definition at line 2692 of file shellbrowser.cpp.

2693{
2694 *pdwFlags = m_BrowserSvcFlags;
2695 return S_OK;
2696}

◆ GetFolderSetData()

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

Implements IBrowserService2.

Definition at line 2977 of file shellbrowser.cpp.

2978{
2979 return E_NOTIMPL;
2980}

◆ GetHistoryObject()

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

Implements IBrowserService.

Definition at line 2724 of file shellbrowser.cpp.

2725{
2726 if (ppole == NULL || pstm == NULL || ppbc == NULL)
2727 return E_INVALIDARG;
2728 *ppole = fHistoryObject;
2729 if (fHistoryObject != NULL)
2731 *pstm = fHistoryStream;
2732 if (fHistoryStream != NULL)
2734 *ppbc = fHistoryBindContext;
2740 if (*ppole == NULL)
2741 return E_FAIL;
2742 return S_OK;
2743}
ULONG AddRef()

◆ GetIDsOfNames()

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

Definition at line 2529 of file shellbrowser.cpp.

2531{
2532 return E_NOTIMPL;
2533}

◆ GetMenuBand()

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

Definition at line 1173 of file shellbrowser.cpp.

1174{
1175 CComPtr<IBandSite> bandSite;
1176 CComPtr<IDeskBand> deskBand;
1177 HRESULT hResult;
1178
1179 if (!fClientBars[BIInternetToolbar].clientBar)
1180 return E_FAIL;
1181
1183 if (FAILED_UNEXPECTEDLY(hResult))
1184 return hResult;
1185
1186 hResult = bandSite->QueryBand(1, &deskBand, NULL, NULL, 0);
1187 if (FAILED_UNEXPECTEDLY(hResult))
1188 return hResult;
1189
1190 return deskBand->QueryInterface(riid, shellMenu);
1191}
static const int BIInternetToolbar
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1497
#define SID_IBandSite

Referenced by SetMenuSB(), and WindowProc().

◆ GetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState ( BNSTATE pbnstate)
override

Implements IBrowserService.

Definition at line 2666 of file shellbrowser.cpp.

2667{
2668 return E_NOTIMPL;
2669}

◆ GetOleObject()

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

Implements IBrowserService.

Definition at line 2556 of file shellbrowser.cpp.

2557{
2558 return E_NOTIMPL;
2559}

◆ GetPalette()

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

Implements IBrowserService.

Definition at line 2766 of file shellbrowser.cpp.

2767{
2768 return E_NOTIMPL;
2769}

◆ GetParentSite()

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

Implements IBrowserService.

Definition at line 2541 of file shellbrowser.cpp.

2542{
2543 return E_NOTIMPL;
2544}

◆ GetPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl ( LPITEMIDLIST ppidl)
override

Definition at line 2703 of file shellbrowser.cpp.

2704{
2705 // called by explorer bar to get current pidl
2706 return ppidl ? SHILClone(fCurrentDirectoryPIDL, ppidl) : E_POINTER;
2707}
HRESULT SHILClone(_In_opt_ LPCITEMIDLIST pidl, _Outptr_ LPITEMIDLIST *ppidl)
Definition: utils.cpp:13

Referenced by CreateRelativeBrowsePIDL(), and GetPropertyBag().

◆ GetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie ( DWORD pdwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3613 of file shellbrowser.cpp.

3614{
3615 return E_NOTIMPL;
3616}

◆ GetProperty()

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

Definition at line 3290 of file shellbrowser.cpp.

3291{
3292 return E_NOTIMPL;
3293}

◆ GetPropertyBag()

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

Definition at line 2496 of file shellbrowser.cpp.

2497{
2498 if (ppvObject == NULL)
2499 return E_POINTER;
2500
2501 *ppvObject = NULL;
2502
2503 LPITEMIDLIST pidl;
2504 HRESULT hr = GetPidl(&pidl);
2506 return E_FAIL;
2507
2508 // FIXME: pidl for Internet etc.
2509
2510 if (_ILIsNetworkPlace(pidl))
2511 flags |= SHGVSPB_ROAM;
2512
2513 hr = SHGetViewStatePropertyBag(pidl, L"Shell", flags, riid, ppvObject);
2514
2515 ILFree(pidl);
2516 return hr;
2517}
static BOOL _ILIsNetworkPlace(LPCITEMIDLIST pidl)
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
Definition: ordinal.c:5206
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082

◆ GetSetCodePage()

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

Implements IBrowserService.

Definition at line 2755 of file shellbrowser.cpp.

2756{
2757 return E_NOTIMPL;
2758}

◆ GetTitle()

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

Implements IBrowserService.

Definition at line 2551 of file shellbrowser.cpp.

2552{
2553 return E_NOTIMPL;
2554}

◆ GetTravelLog()

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

Implements IBrowserService.

Definition at line 2561 of file shellbrowser.cpp.

2562{
2563 HRESULT hResult;
2564
2565 // called by toolbar when displaying tooltips
2566 if (pptl == NULL)
2567 return E_FAIL;
2568
2569 *pptl = NULL;
2570 if (fTravelLog.p == NULL)
2571 {
2573 if (FAILED_UNEXPECTEDLY(hResult))
2574 return hResult;
2575 }
2576 *pptl = fTravelLog.p;
2577 fTravelLog.p->AddRef();
2578 return S_OK;
2579}
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 2524 of file shellbrowser.cpp.

2525{
2526 return E_NOTIMPL;
2527}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfoCount ( UINT pctinfo)
override

Definition at line 2519 of file shellbrowser.cpp.

2520{
2521 return E_NOTIMPL;
2522}

◆ GetViewRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 2792 of file shellbrowser.cpp.

2793{
2794 return E_NOTIMPL;
2795}

◆ GetViewStateStream()

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

Implements IShellBrowser.

Definition at line 2369 of file shellbrowser.cpp.

2370{
2371 return E_NOTIMPL;
2372}

◆ GetViewWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewWindow ( HWND phwndView)
override

Implements IBrowserService2.

Definition at line 2854 of file shellbrowser.cpp.

2855{
2856 return E_NOTIMPL;
2857}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 2235 of file shellbrowser.cpp.

2236{
2237 if (lphwnd == NULL)
2238 return E_POINTER;
2239 *lphwnd = m_hWnd;
2240 return S_OK;
2241}

◆ GetWindowData()

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

Implements ITravelLogClient.

Definition at line 3505 of file shellbrowser.cpp.

3506{
3507 if (pWinData == NULL)
3508 return E_POINTER;
3509
3510 pWinData->dwWindowID = -1;
3511 pWinData->uiCP = 0;
3512 pWinData->pidl = ILClone(fCurrentDirectoryPIDL);
3513 pWinData->lpszUrl = NULL;
3514 pWinData->lpszUrlLocation = NULL;
3515 pWinData->lpszTitle = NULL;
3516 return S_OK;
3517}
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 ( )
inlinevirtual

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

Definition at line 349 of file shellbrowser.cpp.

350 {
351 return WindowProc;
352 }
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

◆ GetWndClassInfo()

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

Definition at line 645 of file shellbrowser.cpp.

646 {
647 static ATL::CWndClassInfo wc =
648 {
650 0, 0, NULL, LoadIcon(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDI_CABINET)),
652 NULL, NULL, IDC_ARROW, TRUE, 0, _T("")
653 };
654 return wc;
655 }
#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:918
#define IDC_ARROW
Definition: winuser.h:687
#define CS_DBLCLKS
Definition: winuser.h:651
#define LoadIcon
Definition: winuser.h:5822
WNDCLASSEXA WNDCLASSEX
Definition: winuser.h:5728

◆ GoBack()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoBack ( )
override

Definition at line 3117 of file shellbrowser.cpp.

3118{
3119 CComPtr<ITravelLog> travelLog;
3120 HRESULT hResult = GetTravelLog(&travelLog);
3121 if (FAILED_UNEXPECTEDLY(hResult))
3122 return hResult;
3123 return travelLog->Travel(static_cast<IDropTarget *>(this), TLOG_BACK);
3124}
#define TLOG_BACK
Definition: shlobj.h:2736

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

◆ GoForward()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoForward ( )
override

Definition at line 3126 of file shellbrowser.cpp.

3127{
3128 CComPtr<ITravelLog> travelLog;
3129 HRESULT hResult = GetTravelLog(&travelLog);
3130 if (FAILED_UNEXPECTEDLY(hResult))
3131 return hResult;
3132 return travelLog->Travel(static_cast<IDropTarget *>(this), TLOG_FORE);
3133}
#define TLOG_FORE
Definition: shlobj.h:2737

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

◆ GoHome()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoHome ( )
override

Definition at line 3135 of file shellbrowser.cpp.

3136{
3137 return E_NOTIMPL;
3138}

Referenced by OnGoHome().

◆ GoSearch()

HRESULT STDMETHODCALLTYPE CShellBrowser::GoSearch ( )
override

Definition at line 3140 of file shellbrowser.cpp.

3141{
3142 return E_NOTIMPL;
3143}

◆ IEGetDisplayName()

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

Definition at line 2641 of file shellbrowser.cpp.

2642{
2643 return E_NOTIMPL;
2644}

◆ IEParseDisplayName()

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

Definition at line 2646 of file shellbrowser.cpp.

2647{
2648 return E_NOTIMPL;
2649}

◆ Initialize()

HRESULT CShellBrowser::Initialize ( )

Definition at line 752 of file shellbrowser.cpp.

753{
754 CComPtr<IPersistStreamInit> persistStreamInit;
755 HRESULT hResult;
756 CComPtr<IUnknown> clientBar;
757
759
760 menuDsa = DSA_Create(sizeof(MenuBandInfo), 5);
761 if (!menuDsa)
762 return E_OUTOFMEMORY;
763
764 // create window
766 if (m_hWnd == NULL)
767 return E_FAIL;
768
770 if (FAILED_UNEXPECTEDLY(hResult))
771 return hResult;
772
774
775 // create interfaces
776 hResult = clientBar->QueryInterface(IID_PPV_ARG(IPersistStreamInit, &persistStreamInit));
777 if (FAILED_UNEXPECTEDLY(hResult))
778 return hResult;
779
780 hResult = IUnknown_SetSite(clientBar, static_cast<IShellBrowser *>(this));
781 if (FAILED_UNEXPECTEDLY(hResult))
782 return hResult;
783
784 hResult = IUnknown_Exec(clientBar, CGID_PrivCITCommands, 1, 1 /* or 0 */, NULL, NULL);
785 if (FAILED_UNEXPECTEDLY(hResult))
786 return hResult;
787
788 CComPtr<IStream> pITBarStream;
790 hResult = SUCCEEDED(hResult) ? persistStreamInit->Load(pITBarStream) : persistStreamInit->InitNew();
791 if (FAILED_UNEXPECTEDLY(hResult))
792 return hResult;
793
794 hResult = IUnknown_ShowDW(clientBar, TRUE);
795 if (FAILED_UNEXPECTEDLY(hResult))
796 return hResult;
797
798 fToolbarProxy.Initialize(m_hWnd, clientBar);
799
800 // create status bar
803 dwStatusStyle |= WS_VISIBLE;
805 0, 0, 500, 20, m_hWnd, (HMENU)IDC_STATUSBAR,
806 _AtlBaseModule.GetModuleInstance(), 0);
807
809 UpdateWindow();
810
811 return S_OK;
812}
@ 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:1924
#define STATUSCLASSNAMEW
Definition: commctrl.h:1936
#define SBARS_SIZEGRIP
Definition: commctrl.h:1923
BOOL fStatusBarVisible
Definition: settings.h:17
#define SW_SHOWNORMAL
Definition: winuser.h:770
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define HWND_DESKTOP
Definition: winuser.h:1209
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 2900 of file shellbrowser.cpp.

2901{
2902 return E_NOTIMPL;
2903}

◆ InitializeTransitionSite()

HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTransitionSite ( )
override

Implements IBrowserService2.

Definition at line 2905 of file shellbrowser.cpp.

2906{
2907 return E_NOTIMPL;
2908}

◆ InitializeTravelLog()

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

Implements IBrowserService2.

Definition at line 2869 of file shellbrowser.cpp.

2870{
2871 return E_NOTIMPL;
2872}

◆ InsertMenusSB()

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

Implements IShellBrowser.

Definition at line 2248 of file shellbrowser.cpp.

2249{
2250 HMENU mainMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2251
2252 Shell_MergeMenus(hmenuShared, mainMenu, 0, 0, FCIDM_BROWSERLAST, MM_SUBMENUSHAVEIDS);
2253
2254 int GCCU(itemCount3) = GetMenuItemCount(hmenuShared);
2255 Unused(itemCount3);
2256
2257 DestroyMenu(mainMenu);
2258
2259 lpMenuWidths->width[0] = 2;
2260 lpMenuWidths->width[2] = 3;
2261 lpMenuWidths->width[4] = 1;
2262 return S_OK;
2263}
#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:623
#define MM_SUBMENUSHAVEIDS
Definition: shlobj.h:2528
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 2535 of file shellbrowser.cpp.

2537{
2538 return E_NOTIMPL;
2539}

◆ IsBandLoaded()

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

Definition at line 1244 of file shellbrowser.cpp.

1245{
1246 HRESULT hResult;
1247 CComPtr<IDeskBar> deskBar;
1248 CComPtr<IUnknown> baseBarSite;
1249 CComPtr<IBandSite> bandSite;
1250 CLSID clsidTmp;
1251 DWORD numBands;
1252 DWORD dwBandID;
1253 DWORD i;
1254
1255 /* Get our basebarsite to be able to enumerate bands */
1256 hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar));
1257 if (FAILED_UNEXPECTEDLY(hResult))
1258 return FALSE;
1259 hResult = deskBar->GetClient(&baseBarSite);
1260 if (FAILED_UNEXPECTEDLY(hResult))
1261 return FALSE;
1262 hResult = baseBarSite->QueryInterface(IID_PPV_ARG(IBandSite, &bandSite));
1263 if (FAILED_UNEXPECTEDLY(hResult))
1264 return FALSE;
1265
1266 hResult = bandSite->EnumBands(-1, &numBands);
1267 if (FAILED_UNEXPECTEDLY(hResult))
1268 return FALSE;
1269
1270 for(i = 0; i < numBands; i++)
1271 {
1272 CComPtr<IPersist> bandPersist;
1273
1274 hResult = bandSite->EnumBands(i, &dwBandID);
1275 if (FAILED_UNEXPECTEDLY(hResult))
1276 return FALSE;
1277
1278 hResult = bandSite->GetBandObject(dwBandID, IID_PPV_ARG(IPersist, &bandPersist));
1279 if (FAILED_UNEXPECTEDLY(hResult))
1280 return FALSE;
1281 hResult = bandPersist->GetClassID(&clsidTmp);
1282 if (FAILED_UNEXPECTEDLY(hResult))
1283 return FALSE;
1284 if (IsEqualGUID(clsidBand, clsidTmp))
1285 {
1286 if (pdwBandID) *pdwBandID = dwBandID;
1287 return TRUE;
1288 }
1289 }
1290 return FALSE;
1291}
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 1898 of file shellbrowser.cpp.

1899{
1900 if (IsEqualCLSID(bandID, CLSID_ExplorerBand))
1901 return TRUE;
1902 if (IsEqualCLSID(bandID, CLSID_SH_SearchBand) || IsEqualCLSID(bandID, CLSID_SearchBand))
1903 return TRUE;
1904 if (IsEqualCLSID(bandID, CLSID_IE_SearchBand) || IsEqualCLSID(bandID, CLSID_FileSearchBand))
1905 return TRUE;
1906 if (IsEqualCLSID(bandID, CLSID_SH_HistBand))
1907 return TRUE;
1908 if (IsEqualCLSID(bandID, CLSID_SH_FavBand))
1909 return TRUE;
1910 if (IsEqualCLSID(bandID, CLSID_ChannelsBand))
1911 return TRUE;
1912 return FALSE;
1913}

Referenced by BuildExplorerBandCategory().

◆ IsControlWindowShown()

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

Implements IBrowserService.

Definition at line 2602 of file shellbrowser.cpp.

2603{
2604 HRESULT hr = S_OK;
2605 BOOL shown = FALSE;
2606 switch (id)
2607 {
2608 case FCW_STATUS:
2610 break;
2611 case FCW_TREE:
2612 {
2614 hr = QueryStatus(&CGID_Explorer, 1, &cmd, NULL);
2615 shown = cmd.cmdf & OLECMDF_LATCHED;
2616 break;
2617 }
2618 case FCW_ADDRESSBAR:
2620 shown = hr == S_OK;
2621 break;
2622 default:
2623 hr = E_NOTIMPL;
2624 }
2625 if (pfShown)
2626 {
2627 *pfShown = shown;
2628 return hr;
2629 }
2630 return SUCCEEDED(hr) ? (shown ? S_OK : S_FALSE) : hr;
2631}
#define FCW_ADDRESSBAR
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_ADDRESSBANDSHOWN
Definition: undocshell.h:828

Referenced by ApplyNewBrowserFlag(), GetControlWindow(), OpenNewBrowserWindow(), and ShowControlWindow().

◆ IsInternetToolbarBandShown()

HRESULT CShellBrowser::IsInternetToolbarBandShown ( UINT  ITId)

Definition at line 2633 of file shellbrowser.cpp.

2634{
2635 OLECMD cmd = { ITId };
2637 CGID_PrivCITCommands, 1, &cmd, NULL);
2638 return SUCCEEDED(hr) ? (cmd.cmdf & OLECMDF_LATCHED) ? S_OK : S_FALSE : hr;
2639}
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
Definition: ordinal.c:1044

Referenced by IsControlWindowShown().

◆ LoadHistory()

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

Implements IPersistHistory.

Definition at line 3529 of file shellbrowser.cpp.

3530{
3531 CComPtr<IPersistHistory> viewPersistHistory;
3532 CComPtr<IOleObject> viewHistoryObject;
3533 persistState oldState;
3534 ULONG numRead;
3535 LPITEMIDLIST pidl;
3536 HRESULT hResult;
3537
3538 hResult = pStream->Read(&oldState, sizeof(oldState), &numRead);
3539 if (FAILED_UNEXPECTEDLY(hResult))
3540 return hResult;
3541 if (numRead != sizeof(oldState) || oldState.dwSize != sizeof(oldState))
3542 return E_FAIL;
3543 if (oldState.browseType != 2)
3544 return E_FAIL;
3545 pidl = static_cast<LPITEMIDLIST>(CoTaskMemAlloc(oldState.pidlSize));
3546 if (pidl == NULL)
3547 return E_OUTOFMEMORY;
3548 hResult = pStream->Read(pidl, oldState.pidlSize, &numRead);
3549 if (FAILED_UNEXPECTEDLY(hResult))
3550 {
3551 ILFree(pidl);
3552 return hResult;
3553 }
3554 if (numRead != oldState.pidlSize)
3555 {
3556 ILFree(pidl);
3557 return E_FAIL;
3558 }
3559 hResult = CoCreateInstance(oldState.persistClass, NULL, CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER,
3560 IID_PPV_ARG(IOleObject, &viewHistoryObject));
3561 fHistoryObject = viewHistoryObject;
3562 fHistoryStream = pStream;
3563 fHistoryBindContext = pbc;
3564 hResult = BrowseToPIDL(pidl, BTP_DONT_UPDATE_HISTORY);
3568 ILFree(pidl);
3569 if (FAILED_UNEXPECTEDLY(hResult))
3570 return hResult;
3571 return S_OK;
3572}
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:57
ULONG pidlSize
Definition: shlobj_undoc.h:58
uint32_t ULONG
Definition: typedefs.h:59

◆ LoadHistoryPosition()

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

Implements ITravelLogClient.

Definition at line 3519 of file shellbrowser.cpp.

3520{
3521 return E_NOTIMPL;
3522}

◆ Navigate()

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

Definition at line 3145 of file shellbrowser.cpp.

3147{
3149 HRESULT hResult;
3150 CComPtr<IShellFolder> pDesktop;
3151
3152 hResult = SHGetDesktopFolder(&pDesktop);
3153 if (FAILED_UNEXPECTEDLY(hResult))
3154 return hResult;
3155 hResult = pDesktop->ParseDisplayName(NULL, NULL, URL, NULL, &pidl, NULL);
3156 if (FAILED_UNEXPECTEDLY(hResult))
3157 return hResult;
3158 return BrowseObject(pidl, 1);
3159}
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 3375 of file shellbrowser.cpp.

3377{
3378 LPITEMIDLIST pidl = NULL;
3379 HRESULT hResult;
3380 // called from drive combo box to navigate to a directory
3381 // Also called by search band to display shell results folder view
3382
3383 if (V_VT(URL) == VT_BSTR)
3384 {
3385 return this->Navigate(V_BSTR(URL), Flags, TargetFrameName, PostData, Headers);
3386 }
3387 if (V_VT(URL) == (VT_ARRAY | VT_UI1))
3388 {
3389 if (V_ARRAY(URL)->cDims != 1 || V_ARRAY(URL)->cbElements != 1)
3390 return E_INVALIDARG;
3391
3392 pidl = static_cast<LPITEMIDLIST>(V_ARRAY(URL)->pvData);
3393 }
3395 if (FAILED_UNEXPECTEDLY(hResult))
3396 return hResult;
3397 return S_OK;
3398}
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 1382 of file shellbrowser.cpp.

1383{
1385 if (newDirectory == NULL)
1386 return E_OUTOFMEMORY;
1387 if (_ILIsDesktop(newDirectory))
1388 {
1389 ILFree(newDirectory);
1390 return E_INVALIDARG;
1391 }
1392 ILRemoveLastID(newDirectory);
1394 ILFree(newDirectory);
1395 if (FAILED_UNEXPECTEDLY(hResult))
1396 return hResult;
1397 return S_OK;
1398}
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 2656 of file shellbrowser.cpp.

2657{
2658 return _NavigateToPidl(pidl, grfHLNF, 0);
2659}
STDMETHOD() _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) override

◆ NotifyRedirect()

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

Definition at line 2671 of file shellbrowser.cpp.

2672{
2673 return E_NOTIMPL;
2674}

◆ Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::Offline ( int  iCmd)
override

Implements IBrowserService2.

Definition at line 2880 of file shellbrowser.cpp.

2881{
2882 return E_NOTIMPL;
2883}

◆ OnAboutReactOS()

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

Definition at line 3802 of file shellbrowser.cpp.

3803{
3804 ShellAbout(m_hWnd, _T("ReactOS"), NULL, NULL);
3805 return 0;
3806}
#define ShellAbout
Definition: shellapi.h:692

◆ OnAddToFavorites()

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

Definition at line 3893 of file shellbrowser.cpp.

3894{
3895 LPITEMIDLIST pidlFavs;
3896 HRESULT hr = GetFavsLocation(m_hWnd, &pidlFavs);
3898 return 0;
3899
3900 SHFILEINFOW fileInfo = { NULL };
3901 if (!SHGetFileInfoW((LPCWSTR)fCurrentDirectoryPIDL, 0, &fileInfo, sizeof(fileInfo),
3903 {
3904 return 0;
3905 }
3906
3908 SHGetPathFromIDListW(pidlFavs, szPath);
3909 PathAppendW(szPath, fileInfo.szDisplayName);
3910 PathAddExtensionW(szPath, L".lnk");
3911
3913 return 0;
3914}
HRESULT GetFavsLocation(HWND hWnd, LPITEMIDLIST *pPidl)
static BOOL CreateShortcut(IN LPCWSTR pszLnkFileName, IN LPCITEMIDLIST pidl, IN LPCWSTR pszDescription OPTIONAL)
LPCWSTR szPath
Definition: env.c:37
#define PathAddExtensionW
Definition: pathcch.h:305
#define PathAppendW
Definition: pathcch.h:309
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1342
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
Definition: shell32_main.c:415
#define SHGFI_DISPLAYNAME
Definition: shellapi.h:166
#define SHGFI_PIDL
Definition: shellapi.h:180
WCHAR szDisplayName[MAX_PATH]
Definition: shellapi.h:375
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

◆ OnAppCommand()

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

Definition at line 4079 of file shellbrowser.cpp.

4080{
4081 UINT uCmd = GET_APPCOMMAND_LPARAM(lParam);
4082 switch (uCmd)
4083 {
4084 case APPCOMMAND_BROWSER_BACKWARD:
4085 GoBack();
4086 break;
4087
4088 case APPCOMMAND_BROWSER_FORWARD:
4089 GoForward();
4090 break;
4091
4092 default:
4093 FIXME("uCmd: %u\n", uCmd);
4094 break;
4095 }
4096 return 0;
4097}
#define FIXME(fmt,...)
Definition: precomp.h:53
LPARAM lParam
Definition: combotst.c:139

◆ OnBackspace()

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

Definition at line 3840 of file shellbrowser.cpp.

3841{
3842 // FIXME: This does not appear to be what windows does.
3843 HRESULT hResult = NavigateToParent();
3844 if (FAILED(hResult))
3845 TRACE("NavigateToParent failed with hResult=%08lx\n", hResult);
3846 return 0;
3847}

◆ OnCabinetStateChange()

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

Definition at line 4048 of file shellbrowser.cpp.

4049{
4051 return 0;
4052}
void RefreshCabinetState()

◆ OnClose()

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

Definition at line 3775 of file shellbrowser.cpp.

3776{
3777 return SendMessage(WM_CLOSE);
3778}
#define WM_CLOSE
Definition: winuser.h:1621

◆ OnCreate() [1/2]

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

Implements IBrowserService2.

Definition at line 2802 of file shellbrowser.cpp.

2803{
2805 return S_OK;
2806}
#define GetModuleHandle
Definition: winbase.h:3827
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 3618 of file shellbrowser.cpp.

3619{
3620 OnCreate(reinterpret_cast<LPCREATESTRUCT> (lParam));
3621 return 0;
3622}
STDMETHOD() OnCreate(struct tagCREATESTRUCTW *pcs) override

◆ OnDestroy() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnDestroy ( )
override

Implements IBrowserService2.

Definition at line 2813 of file shellbrowser.cpp.

2814{
2815 return E_NOTIMPL;
2816}

◆ OnDestroy() [2/2]

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

Definition at line 3624 of file shellbrowser.cpp.

3625{
3626 HRESULT hr;
3627 SaveViewState();
3628
3629 /* The current thread is about to go down so render any IDataObject that may be left in the clipboard */
3631
3632 // TODO: rip down everything
3633 {
3634 m_Destroyed = true; // Ignore browse requests from Explorer band TreeView during destruction
3636 fCurrentShellView->DestroyViewWindow();
3637 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
3638
3639 for (int i = 0; i < 3; i++)
3640 {
3643 CComPtr<IUnknown> pBarSite;
3645
3646 if (fClientBars[i].clientBar == NULL)
3647 continue;
3648
3649 hr = fClientBars[i].clientBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &pdw));
3651 continue;
3652
3653 /* We should destroy our basebarsite too */
3654 hr = pdw->QueryInterface(IID_PPV_ARG(IDeskBar, &bar));
3655 if (SUCCEEDED(hr))
3656 {
3657 hr = bar->GetClient(&pBarSite);
3658 if (SUCCEEDED(hr) && pBarSite)
3659 {
3660 hr = pBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &pClient));
3661 if (SUCCEEDED(hr))
3662 pClient->SetDeskBarSite(NULL);
3663 }
3664 }
3665 pdw->CloseDW(0);
3666
3667 pClient = NULL;
3668 pBarSite = NULL;
3669 pdw = NULL;
3670 bar = NULL;
3671 ReleaseCComPtrExpectZero(fClientBars[i].clientBar);
3672 }
3673 ReleaseCComPtrExpectZero(fCurrentShellView);
3674 ReleaseCComPtrExpectZero(fTravelLog);
3675
3680 }
3681 PostQuitMessage(0);
3682 return 0;
3683}
BOOL DestroyWindow()
Definition: atlwin.h:462
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 3796 of file shellbrowser.cpp.

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

◆ OnExplorerBar()

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

Definition at line 4007 of file shellbrowser.cpp.

4008{
4009 // TODO: HACK ! use the proper mechanism to show the band (i.e. pass the BSTR to basebar)
4011 {
4012 MenuBandInfo *mbi;
4014 if (!mbi)
4015 return 0;
4016 ShowBand(mbi->barGuid, mbi->fVertical);
4017 bHandled = TRUE;
4018 return 1;
4019 }
4020 switch (wID)
4021 {
4023 ShowBand(CLSID_FileSearchBand, true);
4024 break;
4026 ShowBand(CLSID_ExplorerBand, true);
4027 break;
4029 ShowBand(CLSID_SH_HistBand, true);
4030 break;
4032 ShowBand(CLSID_SH_FavBand, true);
4033 break;
4034 default:
4035 WARN("Unknown id %x\n", wID);
4036 }
4037 bHandled = TRUE;
4038 return 1;
4039}
#define WARN(fmt,...)
Definition: precomp.h:61
#define IDM_EXPLORERBAR_FOLDERS
Definition: resource.h:43
#define IDM_EXPLORERBAR_FAVORITES
Definition: resource.h:40
#define IDM_EXPLORERBAR_HISTORY
Definition: resource.h:42
#define IDM_EXPLORERBAND_ENDCUSTOM
Definition: resource.h:80
#define IDM_EXPLORERBAR_SEARCH
Definition: resource.h:39
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 3780 of file shellbrowser.cpp.

3781{
3782 HRESULT hResult = DoFolderOptions();
3783 if (FAILED(hResult))
3784 TRACE("DoFolderOptions failed with hResult=%08lx\n", hResult);
3785 return 0;
3786}

◆ OnFrameWindowActivateBS()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnFrameWindowActivateBS ( BOOL  fActive)
override

Implements IBrowserService2.

Definition at line 2828 of file shellbrowser.cpp.

2829{
2830 return E_NOTIMPL;
2831}

◆ OnGetSettingsPtr()

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

Definition at line 4069 of file shellbrowser.cpp.

4070{
4071 if (!lParam)
4073
4075 return NO_ERROR;
4076}
#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 3808 of file shellbrowser.cpp.

3809{
3810 HRESULT hResult = GoBack();
3811 if (FAILED(hResult))
3812 TRACE("GoBack failed with hResult=%08lx\n", hResult);
3813 return 0;
3814}

◆ OnGoForward()

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

Definition at line 3816 of file shellbrowser.cpp.

3817{
3818 HRESULT hResult = GoForward();
3819 if (FAILED(hResult))
3820 TRACE("GoForward failed with hResult=%08lx\n", hResult);
3821 return 0;
3822}

◆ OnGoHome()

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

Definition at line 3832 of file shellbrowser.cpp.

3833{
3834 HRESULT hResult = GoHome();
3835 if (FAILED(hResult))
3836 TRACE("GoHome failed with hResult=%08lx\n", hResult);
3837 return 0;
3838}
STDMETHOD() GoHome() override

◆ OnGoTravel()

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

Definition at line 4002 of file shellbrowser.cpp.

4003{
4004 return 0;
4005}

◆ OnGoUpLevel()

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

Definition at line 3824 of file shellbrowser.cpp.

3825{
3826 HRESULT hResult = NavigateToParent();
3827 if (FAILED(hResult))
3828 TRACE("NavigateToParent failed with hResult=%08lx\n", hResult);
3829 return 0;
3830}

◆ OnHttpEquiv()

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

Implements IBrowserService.

Definition at line 2760 of file shellbrowser.cpp.

2762{
2763 return E_NOTIMPL;
2764}

◆ OnInitMenuPopup()

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

Definition at line 3714 of file shellbrowser.cpp.

3715{
3716 HMENU theMenu;
3717 LPARAM menuIndex = lParam;
3718
3719 theMenu = reinterpret_cast<HMENU>(wParam);
3720
3722 {
3723 menuIndex = 0;
3724 }
3725 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_EDIT))
3726 {
3727 menuIndex = 1;
3728 }
3729 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW))
3730 {
3731 UpdateViewMenu(theMenu);
3732 menuIndex = 2;
3733 }
3735 {
3736 menuIndex = 3;
3737 }
3738 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_TOOLS))
3739 {
3740 // FIXME: Remove once implemented
3743 menuIndex = 4;
3744 }
3745 else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_HELP))
3746 {
3747 menuIndex = 5;
3748 }
3749
3750 LRESULT ret = RelayMsgToShellView(uMsg, wParam, menuIndex, bHandled);
3751
3752 return ret;
3753}
LRESULT RelayMsgToShellView(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
UINT WPARAM wParam
void UpdateViewMenu(HMENU theMenu)
#define IDM_TOOLS_MAPNETWORKDRIVE
Definition: resource.h:53
#define IDM_TOOLS_SYNCHRONIZE
Definition: resource.h:55
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
Definition: ordinal.c:1777
#define FCIDM_MENU_FAVORITES
Definition: shlobj.h:639
#define FCIDM_MENU_HELP
Definition: shlobj.h:636
#define FCIDM_MENU_FILE
Definition: shlobj.h:630
#define FCIDM_MENU_TOOLS
Definition: shlobj.h:634
#define FCIDM_MENU_VIEW
Definition: shlobj.h:632
#define FCIDM_MENU_EDIT
Definition: shlobj.h:631
int ret
LONG_PTR LRESULT
Definition: windef.h:209

◆ OnMapNetworkDrive()

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

Definition at line 3788 of file shellbrowser.cpp.

3789{
3790#ifndef __REACTOS__
3792#endif /* __REACTOS__ */
3793 return 0;
3794}
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 3916 of file shellbrowser.cpp.

3917{
3918 CComPtr<IShellFolder> psfDesktop;
3919 LPITEMIDLIST pidlFavs;
3920 HRESULT hr = GetFavsLocation(m_hWnd, &pidlFavs);
3922 return 0;
3923
3924 hr = SHGetDesktopFolder(&psfDesktop);
3926 {
3927 ILFree(pidlFavs);
3928 return 0;
3929 }
3930
3931 hr = SHInvokeDefaultCommand(m_hWnd, psfDesktop, pidlFavs);
3932 ILFree(pidlFavs);
3934 return 0;
3935
3936 return 0;
3937}
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
Definition: ordinal.c:3056

◆ OnRefresh()

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

Definition at line 3995 of file shellbrowser.cpp.

3996{
3998 fCurrentShellView->Refresh();
3999 return 0;
4000}

◆ OnSearch()

HRESULT CShellBrowser::OnSearch ( )

Definition at line 1915 of file shellbrowser.cpp.

1916{
1917 CComPtr<IObjectWithSite> objectWithSite;
1918 CComPtr<IContextMenu> contextMenu;
1919 CMINVOKECOMMANDINFO commandInfo;
1920 const char *searchGUID = "{169A0691-8DF9-11d1-A1C4-00C04FD75D13}";
1921 HRESULT hResult;
1922
1923 // TODO: Query shell if this command is enabled first
1924
1925 memset(&commandInfo, 0, sizeof(commandInfo));
1926 commandInfo.cbSize = sizeof(commandInfo);
1927 commandInfo.hwnd = m_hWnd;
1928 commandInfo.lpParameters = searchGUID;
1929 commandInfo.nShow = SW_SHOWNORMAL;
1930
1931 hResult = CoCreateInstance(CLSID_ShellSearchExt, NULL, CLSCTX_INPROC_SERVER,
1932 IID_PPV_ARG(IContextMenu, &contextMenu));
1933 if (FAILED_UNEXPECTEDLY(hResult))
1934 return 0;
1935 hResult = contextMenu->QueryInterface(IID_PPV_ARG(IObjectWithSite, &objectWithSite));
1936 if (FAILED_UNEXPECTEDLY(hResult))
1937 return 0;
1938 hResult = objectWithSite->SetSite(dynamic_cast<IShellBrowser*>(this));
1939 if (FAILED_UNEXPECTEDLY(hResult))
1940 return 0;
1941 hResult = contextMenu->InvokeCommand(&commandInfo);
1942 hResult = objectWithSite->SetSite(NULL);
1943 return hResult;
1944}

◆ OnSetFocus() [1/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSetFocus ( )
override

Implements IBrowserService2.

Definition at line 2823 of file shellbrowser.cpp.

2824{
2825 return E_NOTIMPL;
2826}

◆ OnSetFocus() [2/2]

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

Definition at line 3755 of file shellbrowser.cpp.

3756{
3758 return 0;
3759}
HWND SetFocus()
Definition: atlwin.h:1198

◆ OnSettingChange()

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

Definition at line 3768 of file shellbrowser.cpp.

3769{
3772 return 0;
3773}
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
Definition: ordinal.c:1715

◆ OnSettingsChange()

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

Definition at line 4054 of file shellbrowser.cpp.

4055{
4056 /* Refresh child windows */
4058
4059 /* Refresh status bar */
4060 if (fStatusBar)
4061 {
4064 }
4065
4066 return 0;
4067}
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define SW_HIDE
Definition: winuser.h:768
#define SW_SHOW
Definition: winuser.h:775
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 3685 of file shellbrowser.cpp.

3686{
3687 CComPtr<IDockingWindow> dockingWindow;
3688 RECT availableBounds;
3689 static const INT excludeItems[] = {1, 1, 1, IDC_STATUSBAR, 0, 0};
3690 HRESULT hResult;
3691
3692 if (wParam != SIZE_MINIMIZED)
3693 {
3694 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
3695 for (INT x = 0; x < 3; x++)
3696 {
3697 if (fClientBars[x].clientBar != NULL)
3698 {
3699 hResult = fClientBars[x].clientBar->QueryInterface(
3700 IID_PPV_ARG(IDockingWindow, &dockingWindow));
3701 if (SUCCEEDED(hResult) && dockingWindow != NULL)
3702 {
3703 hResult = dockingWindow->ResizeBorderDW(
3704 &availableBounds, static_cast<IDropTarget *>(this), TRUE);
3705 break;
3706 }
3707 }
3708 }
3710 }
3711 return 1;
3712}
#define SIZE_MINIMIZED
Definition: winuser.h:2506

◆ OnSize() [2/2]

HRESULT STDMETHODCALLTYPE CShellBrowser::OnSize ( WPARAM  wParam)
override

Implements IBrowserService2.

Definition at line 2797 of file shellbrowser.cpp.

2798{
2799 return E_NOTIMPL;
2800}

◆ OnToggleAddressBandVisible()

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

Definition at line 3963 of file shellbrowser.cpp.

3964{
3965 HRESULT hResult;
3966 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
3967 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
3968 return 0;
3969}

◆ OnToggleLinksBandVisible()

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

Definition at line 3971 of file shellbrowser.cpp.

3972{
3973 HRESULT hResult;
3974 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
3975 CGID_PrivCITCommands, ITID_LINKSBANDSHOWN, 0, NULL, NULL);
3976 return 0;
3977}
#define ITID_LINKSBANDSHOWN
Definition: undocshell.h:829

◆ OnToggleStatusBarVisible()

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

Definition at line 3939 of file shellbrowser.cpp.

3940{
3942 m_settings.Save();
3944 return 0;
3945}
#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 3979 of file shellbrowser.cpp.

3980{
3981 HRESULT hResult;
3982 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
3983 CGID_PrivCITCommands, ITID_TEXTLABELS, 0, NULL, NULL);
3984 return 0;
3985}
#define ITID_TEXTLABELS
Definition: undocshell.h:826

◆ OnToggleToolbarBandVisible()

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

Definition at line 3955 of file shellbrowser.cpp.

3956{
3957 HRESULT hResult;
3958 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
3959 CGID_PrivCITCommands, ITID_TOOLBARBANDSHOWN, 0, NULL, NULL);
3960 return 0;
3961}
#define ITID_TOOLBARBANDSHOWN
Definition: undocshell.h:827

◆ OnToggleToolbarLock()

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

Definition at line 3947 of file shellbrowser.cpp.

3948{
3949 HRESULT hResult;
3950 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
3951 CGID_PrivCITCommands, ITID_TOOLBARLOCKED, 0, NULL, NULL);
3952 return 0;
3953}
#define ITID_TOOLBARLOCKED
Definition: undocshell.h:833

◆ OnToolbarCustomize()

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

Definition at line 3987 of file shellbrowser.cpp.

3988{
3989 HRESULT hResult;
3990 hResult = IUnknown_Exec(fClientBars[BIInternetToolbar].clientBar,
3991 CGID_PrivCITCommands, ITID_CUSTOMIZEENABLED, 0, NULL, NULL);
3992 return 0;
3993}
#define ITID_CUSTOMIZEENABLED
Definition: undocshell.h:832

◆ OnViewWindowActive()

HRESULT STDMETHODCALLTYPE CShellBrowser::OnViewWindowActive ( IShellView ppshv)
override

Implements IShellBrowser.

Definition at line 2437 of file shellbrowser.cpp.

2438{
2439 return E_NOTIMPL;
2440}

◆ OpenNewBrowserWindow()

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

Definition at line 852 of file shellbrowser.cpp.

853{
854 SaveITBarLayout(); // Do this now so the new window inherits the current layout
855 // TODO: www.geoffchappell.com/studies/windows/ie/shdocvw/interfaces/inotifyappstart.htm
856 DWORD flags = (SbspFlags & SBSP_EXPLOREMODE) ? SH_EXPLORER_CMDLINE_FLAG_E : 0;
857 if ((SbspFlags & (SBSP_OPENMODE | SBSP_EXPLOREMODE)) == SBSP_DEFMODE)
859 LPITEMIDLIST pidlDir;
860 HRESULT hr = SHILClone(pidl, &pidlDir);
861 if (FAILED(hr))
862 return hr;
863 // TODO: !SBSP_NOTRANSFERHIST means we are supposed to pass the history here somehow?
865}
#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 3485 of file shellbrowser.cpp.

3486{
3487 return E_NOTIMPL;
3488}

◆ put_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_FullScreen ( VARIANT_BOOL  bFullScreen)
override

Definition at line 3370 of file shellbrowser.cpp.

3371{
3372 return E_NOTIMPL;
3373}

◆ put_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Height ( long  Height)
override

Definition at line 3253 of file shellbrowser.cpp.

3254{
3255 return E_NOTIMPL;
3256}

◆ put_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Left ( long  Left)
override

Definition at line 3223 of file shellbrowser.cpp.

3224{
3225 return E_NOTIMPL;
3226}

◆ put_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_MenuBar ( VARIANT_BOOL  Value)
override

Definition at line 3360 of file shellbrowser.cpp.

3361{
3362 return E_NOTIMPL;
3363}

◆ put_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Offline ( VARIANT_BOOL  bOffline)
override

Definition at line 3435 of file shellbrowser.cpp.

3436{
3437 return E_NOTIMPL;
3438}

◆ put_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsBrowser ( VARIANT_BOOL  bRegister)
override

Definition at line 3455 of file shellbrowser.cpp.

3456{
3457 return E_NOTIMPL;
3458}

◆ put_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsDropTarget ( VARIANT_BOOL  bRegister)
override

Definition at line 3465 of file shellbrowser.cpp.

3466{
3467 return E_NOTIMPL;
3468}

◆ put_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Resizable ( VARIANT_BOOL  Value)
override

Definition at line 3495 of file shellbrowser.cpp.

3496{
3497 return E_NOTIMPL;
3498}

◆ put_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Silent ( VARIANT_BOOL  bSilent)
override

Definition at line 3445 of file shellbrowser.cpp.

3446{
3447 return E_NOTIMPL;
3448}

◆ put_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusBar ( VARIANT_BOOL  Value)
override

Definition at line 3330 of file shellbrowser.cpp.

3331{
3332 return E_NOTIMPL;
3333}

◆ put_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusText ( BSTR  StatusText)
override

Definition at line 3340 of file shellbrowser.cpp.

3341{
3342 return E_NOTIMPL;
3343}

◆ put_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_TheaterMode ( VARIANT_BOOL  bRegister)
override

Definition at line 3475 of file shellbrowser.cpp.

3476{
3477 return E_NOTIMPL;
3478}

◆ put_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_ToolBar ( int  Value)
override

Definition at line 3350 of file shellbrowser.cpp.

3351{
3352 return E_NOTIMPL;
3353}

◆ put_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Top ( long  Top)
override

Definition at line 3233 of file shellbrowser.cpp.

3234{
3235 return E_NOTIMPL;
3236}

◆ put_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Visible ( VARIANT_BOOL  Value)
override

Definition at line 3320 of file shellbrowser.cpp.

3321{
3322 return E_NOTIMPL;
3323}

◆ put_Width()

HRESULT STDMETHODCALLTYPE CShellBrowser::put_Width ( long  Width)
override

Definition at line 3243 of file shellbrowser.cpp.

3244{
3245 return E_NOTIMPL;
3246}

◆ PutProperty()

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

Definition at line 3285 of file shellbrowser.cpp.

3286{
3287 return E_NOTIMPL;
3288}

◆ QueryActiveShellView()

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

Implements IShellBrowser.

Definition at line 2424 of file shellbrowser.cpp.

2425{
2426 if (ppshv == NULL)
2427 return E_POINTER;
2428 *ppshv = fCurrentShellView;
2429 if (fCurrentShellView.p != NULL)
2430 {
2432 return S_OK;
2433 }
2434 return E_FAIL;
2435}

◆ QueryService()

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

Implements IServiceProvider.

Definition at line 2469 of file shellbrowser.cpp.

2470{
2471 // view does a query for SID_STopLevelBrowser, IID_IShellBrowserService
2472 // the returned interface has a method GetPropertyBag on it
2473 if (IsEqualIID(guidService, SID_STopLevelBrowser))
2474 return this->QueryInterface(riid, ppvObject);
2475 if (IsEqualIID(guidService, SID_SShellBrowser))
2476 return this->QueryInterface(riid, ppvObject);
2477 if (IsEqualIID(guidService, SID_ITargetFrame2))
2478 return this->QueryInterface(riid, ppvObject);
2479 if (IsEqualIID(guidService, SID_IWebBrowserApp)) // without this, the internet toolbar won't reflect notifications
2480 return this->QueryInterface(riid, ppvObject);
2481 if (IsEqualIID(guidService, SID_SProxyBrowser))
2482 return this->QueryInterface(riid, ppvObject);
2483 if (IsEqualIID(guidService, SID_IExplorerToolbar) && fClientBars[BIInternetToolbar].clientBar.p)
2484 return fClientBars[BIInternetToolbar].clientBar->QueryInterface(riid, ppvObject);
2485 if (IsEqualIID(riid, IID_IShellBrowser))
2486 return this->QueryInterface(riid, ppvObject);
2487 return E_NOINTERFACE;
2488}
#define SID_SShellBrowser
Definition: shlguid.h:128
#define SID_IExplorerToolbar
#define SID_ITargetFrame2
#define SID_IWebBrowserApp
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ QueryStatus()

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

Implements IOleCommandTarget.

Definition at line 2008 of file shellbrowser.cpp.

2010{
2011 CComPtr<IOleCommandTarget> commandTarget;
2012 HRESULT hResult;
2013
2014 if (prgCmds == NULL)
2015 return E_INVALIDARG;
2016 if (pguidCmdGroup == NULL)
2017 {
2018 if (fCurrentShellView.p != NULL)
2019 {
2020 hResult = fCurrentShellView->QueryInterface(IID_PPV_ARG(IOleCommandTarget, &commandTarget));
2021 if (SUCCEEDED(hResult) && commandTarget.p != NULL)
2022 return commandTarget->QueryStatus(NULL, 1, prgCmds, pCmdText);
2023 }
2024 while (cCmds != 0)
2025 {
2026 prgCmds->cmdf = 0;
2027 prgCmds++;
2028 cCmds--;
2029 }
2030 }
2031 else if (IsEqualIID(*pguidCmdGroup, CGID_Explorer))
2032 {
2033 while (cCmds != 0)
2034 {
2035 switch (prgCmds->cmdID)
2036 {
2037 case 0x1c: // search
2038 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2039 if (IsEqualCLSID(CLSID_SH_SearchBand, fCurrentVertBar) ||
2040 IsEqualCLSID(CLSID_SearchBand, fCurrentVertBar) ||
2041 IsEqualCLSID(CLSID_IE_SearchBand, fCurrentVertBar) ||
2042 IsEqualCLSID(CLSID_FileSearchBand, fCurrentVertBar))
2043 {
2044 prgCmds->cmdf |= OLECMDF_LATCHED;
2045 }
2046 break;
2047 case 0x1d: // history
2048 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2049 if (IsEqualCLSID(CLSID_SH_HistBand, fCurrentVertBar))
2050 prgCmds->cmdf |= OLECMDF_LATCHED;
2051 break;
2052 case 0x1e: // favorites
2053 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2054 if (IsEqualCLSID(CLSID_SH_FavBand, fCurrentVertBar))
2055 prgCmds->cmdf |= OLECMDF_LATCHED;
2056 break;
2057 case SBCMDID_EXPLORERBARFOLDERS: // folders
2058 prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED;
2059 if (IsEqualCLSID(CLSID_ExplorerBand, fCurrentVertBar))
2060 prgCmds->cmdf |= OLECMDF_LATCHED;
2061 break;
2062 default:
2063 prgCmds->cmdf = 0;
2064 break;
2065 }
2066 prgCmds++;
2067 cCmds--;
2068 }
2069 }
2070 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser))
2071 {
2072 while (cCmds != 0)
2073 {
2074 switch (prgCmds->cmdID)
2075 {
2077 prgCmds->cmdf = OLECMDF_SUPPORTED;
2078 if (fCurrentDirectoryPIDL->mkid.cb != 0)
2079 prgCmds->cmdf |= OLECMDF_ENABLED;
2080 break;
2081 }
2082 prgCmds++;
2083 cCmds--;
2084 }
2085 }
2086 return S_OK;
2087}
#define IDM_GOTO_UPONELEVEL
Definition: resource.h:47

Referenced by IsControlWindowShown().

◆ QueryStatusWB()

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

Definition at line 3400 of file shellbrowser.cpp.

3401{
3402 return E_NOTIMPL;
3403}

◆ Quit()

HRESULT STDMETHODCALLTYPE CShellBrowser::Quit ( )
override

Definition at line 3275 of file shellbrowser.cpp.

3276{
3277 return E_NOTIMPL;
3278}

◆ Refresh()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh ( )
override

Definition at line 3161 of file shellbrowser.cpp.

3162{
3163 VARIANT level;
3164
3165 V_VT(&level) = VT_I4;
3166 V_I4(&level) = 4;
3167 return Refresh2(&level);
3168}
STDMETHOD() Refresh2(VARIANT *Level) override
GLint level
Definition: gl.h:1546

◆ Refresh2()

HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh2 ( VARIANT Level)
override

Definition at line 3170 of file shellbrowser.cpp.

3171{
3172 CComPtr<IOleCommandTarget> oleCommandTarget;
3173 HRESULT hResult;
3174
3175 hResult = fCurrentShellView->QueryInterface(IID_PPV_ARG(IOleCommandTarget, &oleCommandTarget));
3176 if (FAILED_UNEXPECTEDLY(hResult))
3177 return hResult;
3178 return oleCommandTarget->Exec(NULL, 22, 1, Level, NULL);
3179}
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56

Referenced by Refresh().

◆ RefreshCabinetState()

void CShellBrowser::RefreshCabinetState ( )

Definition at line 4104 of file shellbrowser.cpp.

4105{
4108}

Referenced by OnCabinetStateChange(), and OnSettingChange().

◆ RegisterWindow()

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

Implements IBrowserService.

Definition at line 2771 of file shellbrowser.cpp.

2772{
2773 return E_NOTIMPL;
2774}

◆ RelayCommands()

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

Definition at line 4041 of file shellbrowser.cpp.

4042{
4045 return 0;
4046}
#define LOWORD(l)
Definition: pedump.c:82
#define FCIDM_SHVIEWLAST
Definition: shlobj.h:614
#define HIWORD(l)
Definition: typedefs.h:247

◆ RelayMsgToShellView()

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

Definition at line 3761 of file shellbrowser.cpp.

3762{
3765 return 0;
3766}

Referenced by OnInitMenuPopup().

◆ ReleaseShellView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ReleaseShellView ( )
override

Implements IBrowserService2.

Definition at line 2833 of file shellbrowser.cpp.

2834{
2835 return E_NOTIMPL;
2836}

◆ RemoveMenusSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::RemoveMenusSB ( HMENU  hmenuShared)
override

Implements IShellBrowser.

Definition at line 2295 of file shellbrowser.cpp.

2296{
2297 if (hmenuShared == fCurrentMenuBar)
2298 {
2299 //DestroyMenu(fCurrentMenuBar);
2301 }
2302 return S_OK;
2303}
STDMETHOD() SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) override

◆ RepositionBars()

void CShellBrowser::RepositionBars ( )

Definition at line 1522 of file shellbrowser.cpp.

1523{
1524 RECT clientRect;
1525 RECT statusRect;
1526 int x;
1527
1528 GetClientRect(&clientRect);
1529
1531 {
1532 ::GetWindowRect(fStatusBar, &statusRect);
1533 ::SetWindowPos(fStatusBar, NULL, clientRect.left, clientRect.bottom - (statusRect.bottom - statusRect.top),
1534 clientRect.right - clientRect.left,
1535 statusRect.bottom - statusRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1536 clientRect.bottom -= statusRect.bottom - statusRect.top;
1537 }
1538
1539 for (x = 0; x < 3; x++)
1540 {
1542 RECT borderSpace = fClientBars[x].borderSpace;
1543 if (hwnd == NULL && fClientBars[x].clientBar != NULL)
1544 {
1545 IUnknown_GetWindow(fClientBars[x].clientBar, &hwnd);
1547 }
1548 if (hwnd != NULL)
1549 {
1550 RECT toolbarRect = clientRect;
1551 if (borderSpace.top != 0)
1552 {
1553 toolbarRect.bottom = toolbarRect.top + borderSpace.top;
1554 }
1555 else if (borderSpace.bottom != 0)
1556 {
1557 toolbarRect.top = toolbarRect.bottom - borderSpace.bottom;
1558 }
1559 else if (borderSpace.left != 0)
1560 {
1561 toolbarRect.right = toolbarRect.left + borderSpace.left;
1562 }
1563 else if (borderSpace.right != 0)
1564 {
1565 toolbarRect.left = toolbarRect.right - borderSpace.right;
1566 }
1567
1569 toolbarRect.left,
1570 toolbarRect.top,
1571 toolbarRect.right - toolbarRect.left,
1572 toolbarRect.bottom - toolbarRect.top,
1574
1575 if (borderSpace.top != 0)
1576 {
1577 clientRect.top = toolbarRect.bottom;
1578 }
1579 else if (borderSpace.bottom != 0)
1580 {
1581 clientRect.bottom = toolbarRect.top;
1582 }
1583 else if (borderSpace.left != 0)
1584 {
1585 clientRect.left = toolbarRect.right;
1586 }
1587 else if (borderSpace.right != 0)
1588 {
1589 clientRect.right = toolbarRect.left;
1590 }
1591 }
1592 }
1593 ::SetWindowPos(fCurrentShellViewWindow, NULL, clientRect.left, clientRect.top,
1594 clientRect.right - clientRect.left,
1595 clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER);
1596}
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define SWP_NOOWNERZORDER
Definition: winuser.h:1249
#define SWP_NOZORDER
Definition: winuser.h:1247

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

◆ RequestBorderSpaceDW()

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

Definition at line 1988 of file shellbrowser.cpp.

1989{
1990 return S_OK;
1991}

◆ SaveHistory()

HRESULT STDMETHODCALLTYPE CShellBrowser::SaveHistory ( IStream pStream)
override

Implements IPersistHistory.

Definition at line 3574 of file shellbrowser.cpp.

3575{
3576 CComPtr<IPersistHistory> viewPersistHistory;
3577 persistState newState;
3578 HRESULT hResult;
3579
3580 hResult = fCurrentShellView->GetItemObject(
3581 SVGIO_BACKGROUND, IID_PPV_ARG(IPersistHistory, &viewPersistHistory));
3582 memset(&newState, 0, sizeof(newState));
3583 newState.dwSize = sizeof(newState);
3584 newState.browseType = 2;
3585 newState.browserIndex = GetBrowserIndex();
3586 if (viewPersistHistory.p != NULL)
3587 {
3588 hResult = viewPersistHistory->GetClassID(&newState.persistClass);
3589 if (FAILED_UNEXPECTEDLY(hResult))
3590 return hResult;
3591 }
3593 hResult = pStream->Write(&newState, sizeof(newState), NULL);
3594 if (FAILED_UNEXPECTEDLY(hResult))
3595 return hResult;
3596 hResult = pStream->Write(fCurrentDirectoryPIDL, newState.pidlSize, NULL);
3597 if (FAILED_UNEXPECTEDLY(hResult))
3598 return hResult;
3599 if (viewPersistHistory.p != NULL)
3600 {
3601 hResult = viewPersistHistory->SaveHistory(pStream);
3602 if (FAILED_UNEXPECTEDLY(hResult))
3603 return hResult;
3604 }
3605 return S_OK;
3606}
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:56

◆ SaveITBarLayout()

void CShellBrowser::SaveITBarLayout ( )

Definition at line 4122 of file shellbrowser.cpp.

4123{
4124 if (!gCabinetState.fSaveLocalView || (m_BrowserSvcFlags & (BSF_THEATERMODE | BSF_UISETBYAUTOMATION)))
4125 return;
4126#if 0 // If CDesktopBrowser aggregates us, skip saving
4128 if (fCurrentShellView && SUCCEEDED(fCurrentShellView->GetCurrentInfo(&fs)) && (fs.fFlags & FWF_DESKTOP))
4129 return;
4130#endif
4131
4133 CComPtr<IStream> pITBarStream;
4134 if (!fClientBars[BIInternetToolbar].clientBar.p)
4135 return;
4137 if (FAILED(hr))
4138 return;
4140 return;
4141 pPSI->Save(pITBarStream, TRUE);
4142}
#define STGM_WRITE
Definition: objbase.h:918
@ FWF_DESKTOP
Definition: shobjidl.idl:646
BOOL fSaveLocalView
Definition: shlobj.h:2387
Definition: ffs.h:70

Referenced by Exec(), and OpenNewBrowserWindow().

◆ SaveViewState()

void CShellBrowser::SaveViewState ( )

Definition at line 1003 of file shellbrowser.cpp.

1004{
1005 // TODO: Also respect EBO_NOPERSISTVIEWSTATE?
1007 fCurrentShellView->SaveViewState();
1008}
@ REST_NOSAVESET
Definition: shlobj.h:1644
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
Definition: shpolicy.c:150

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

2403{
2404 LPARAM result;
2405
2406 if (pret != NULL)
2407 *pret = 0;
2408 switch (id)
2409 {
2410 case FCW_TOOLBAR:
2412 if (pret != NULL)
2413 *pret = result;
2414 break;
2415 case FCW_STATUS:
2417 if (pret != NULL)
2418 *pret = result;
2419 break;
2420 }
2421 return S_OK;
2422}
LRESULT SendMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
Definition: atlwin.h:1116
GLuint64EXT * result
Definition: glext.h:11304

◆ SetAcceleratorMenu()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAcceleratorMenu ( HACCEL  hacc)
override

Implements IBrowserService2.

Definition at line 3042 of file shellbrowser.cpp.

3043{
3044 return E_NOTIMPL;
3045}

◆ SetActivateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetActivateState ( UINT  u)
override

Implements IBrowserService2.

Definition at line 2890 of file shellbrowser.cpp.

2891{
2892 return E_NOTIMPL;
2893}

◆ SetAsDefFolderSettings()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetAsDefFolderSettings ( )
override

Implements IBrowserService2.

Definition at line 2781 of file shellbrowser.cpp.

2782{
2783 HRESULT hr = E_FAIL;
2785 {
2788 }
2789 return hr;
2790}
#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:89

◆ SetBorderSpaceDW()

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

Definition at line 1993 of file shellbrowser.cpp.

1994{
1995 for (INT x = 0; x < 3; x++)
1996 {
1997 if (IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
1998 {
1999 fClientBars[x].borderSpace = *pbw;
2000 // if this bar changed size, it cascades and forces all subsequent bars to resize
2002 return S_OK;
2003 }
2004 }
2005 return E_INVALIDARG;
2006}

◆ SetFlags()

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

Implements IBrowserService.

Definition at line 2686 of file shellbrowser.cpp.

2687{
2688 m_BrowserSvcFlags = (m_BrowserSvcFlags & ~dwFlagMask) | (dwFlags & dwFlagMask);
2689 return S_OK;
2690}
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ SetHistoryObject()

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

Implements IBrowserService.

Definition at line 2745 of file shellbrowser.cpp.

2746{
2747 return E_NOTIMPL;
2748}

◆ SetMenuSB()

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

Implements IShellBrowser.

Definition at line 2265 of file shellbrowser.cpp.

2266{
2267 CComPtr<IShellMenu> shellMenu;
2268 HRESULT hResult;
2269
2270 if (hmenuShared && IsMenu(hmenuShared) == FALSE)
2271 return E_FAIL;
2272 hResult = GetMenuBand(IID_PPV_ARG(IShellMenu, &shellMenu));
2273 if (FAILED_UNEXPECTEDLY(hResult))
2274 return hResult;
2275
2276 if (!hmenuShared)
2277 {
2278 hmenuShared = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU));
2279 }
2280 // FIXME: Figure out the proper way to do this.
2281 HMENU hMenuFavs = GetSubMenu(hmenuShared, 3);
2282 if (hMenuFavs)
2283 {
2285 }
2286
2287 hResult = shellMenu->SetMenu(hmenuShared, m_hWnd, SMSET_DONTOWN);
2288 if (FAILED_UNEXPECTEDLY(hResult))
2289 return hResult;
2290 fCurrentMenuBar = hmenuShared;
2292 return S_OK;
2293}
HRESULT BuildExplorerBandMenu()
HRESULT GetMenuBand(REFIID riid, void **shellMenu)
#define IDM_FAVORITES_EMPTY
Definition: resource.h:52
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 2661 of file shellbrowser.cpp.

2662{
2663 return E_NOTIMPL;
2664}

◆ SetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetPositionCookie ( DWORD  dwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3608 of file shellbrowser.cpp.

3609{
3610 return E_NOTIMPL;
3611}

◆ SetReferrer()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetReferrer ( LPCITEMIDLIST  pidl)
override

Definition at line 2709 of file shellbrowser.cpp.

2710{
2711 return E_NOTIMPL;
2712}

◆ SetStatusTextSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetStatusTextSB ( LPCOLESTR  pszStatusText)
override

Implements IShellBrowser.

Definition at line 2305 of file shellbrowser.cpp.

2306{
2307 //
2308 if (pszStatusText)
2309 {
2310 ::SetWindowText(fStatusBar, pszStatusText);
2311 }
2312 else
2313 {
2314
2315 }
2316 return S_OK;
2317}
#define SetWindowText
Definition: winuser.h:5866

◆ SetTitle()

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

Implements IBrowserService.

Definition at line 2546 of file shellbrowser.cpp.

2547{
2548 return E_NOTIMPL;
2549}

◆ SetToolbarItems()

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

Definition at line 2442 of file shellbrowser.cpp.

2443{
2444 return E_NOTIMPL;
2445}

◆ SetTopBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::SetTopBrowser ( )
override

Implements IBrowserService2.

Definition at line 2874 of file shellbrowser.cpp.

2875{
2876 m_BrowserSvcFlags |= BSF_TOPBROWSER;
2877 return S_OK;
2878}

Referenced by CShellBrowser().

◆ ShowBand()

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

Definition at line 1293 of file shellbrowser.cpp.

1294{
1295 CComPtr<IDockingWindow> dockingWindow;
1296 CComPtr<IUnknown> baseBarSite;
1297 CComPtr<IUnknown> newBand;
1298 CComPtr<IDeskBar> deskBar;
1299 VARIANT vaIn;
1300 HRESULT hResult;
1301 DWORD dwBandID;
1302
1303 hResult = GetBaseBar(vertical, IID_PPV_ARG(IDeskBar, &deskBar));
1304 if (FAILED_UNEXPECTEDLY(hResult))
1305 return hResult;
1306
1307 hResult = deskBar->GetClient(&baseBarSite);
1308 if (FAILED_UNEXPECTEDLY(hResult))
1309 return hResult;
1310
1311 hResult = deskBar->QueryInterface(IID_PPV_ARG(IDockingWindow, &dockingWindow));
1312 if (FAILED_UNEXPECTEDLY(hResult))
1313 return hResult;
1314
1315 if (!IsBandLoaded(classID, vertical, &dwBandID))
1316 {
1317 TRACE("ShowBand called for CLSID %s, vertical=%d...\n", wine_dbgstr_guid(&classID), vertical);
1318 if (IsEqualCLSID(CLSID_ExplorerBand, classID))
1319 {
1320 TRACE("CLSID_ExplorerBand requested, building internal band.\n");
1322 if (FAILED_UNEXPECTEDLY(hResult))
1323 return hResult;
1324 }
1325 else if (IsEqualCLSID(classID, CLSID_FileSearchBand))
1326 {
1327 TRACE("CLSID_FileSearchBand requested, building internal band.\n");
1328 hResult = CSearchBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBand));
1329 if (FAILED_UNEXPECTEDLY(hResult))
1330 return hResult;
1331 }
1332 else
1333 {
1334 TRACE("A different CLSID requested, using CoCreateInstance.\n");
1335 hResult = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IUnknown, &newBand));
1336 if (FAILED_UNEXPECTEDLY(hResult))
1337 return hResult;
1338 }
1339 }
1340 else
1341 {
1342 CComPtr<IBandSite> pBandSite;
1343
1344 hResult = baseBarSite->QueryInterface(IID_PPV_ARG(IBandSite, &pBandSite));
1345 if (!SUCCEEDED(hResult))
1346 {
1347 ERR("Can't get IBandSite interface\n");
1348 return E_FAIL;
1349 }
1350 hResult = pBandSite->GetBandObject(dwBandID, IID_PPV_ARG(IUnknown, &newBand));
1351 if (!SUCCEEDED(hResult))
1352 {
1353 ERR("Can't find band object\n");
1354 return E_FAIL;
1355 }
1356
1357 // It's hackish, but we should be able to show the wanted band until we
1358 // find the proper way to do this (but it seems to work to add a new band)
1359 // Here we'll just re-add the existing band to the site, causing it to display.
1360 }
1361 V_VT(&vaIn) = VT_UNKNOWN;
1362 V_UNKNOWN(&vaIn) = newBand.p;
1363 hResult = IUnknown_Exec(baseBarSite, CGID_IDeskBand, 1, 1, &vaIn, NULL);
1364 if (FAILED_UNEXPECTEDLY(hResult))
1365 {
1366 return hResult;
1367 }
1368
1369 hResult = dockingWindow->ShowDW(TRUE);
1370 if (FAILED_UNEXPECTEDLY(hResult))
1371 return hResult;
1372
1373 if (vertical)
1374 {
1375 fCurrentVertBar = classID;
1377 }
1378
1379 return S_OK;
1380}
#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 3411 of file shellbrowser.cpp.

3412{
3413 CLSID classID;
3414 bool vertical;
3415
3416 // called to show search bar
3417 if (V_VT(pvaClsid) != VT_BSTR)
3418 return E_INVALIDARG;
3419 CLSIDFromString(V_BSTR(pvaClsid), &classID);
3420 // TODO: properly compute the value of vertical
3421 vertical = true;
3422 return ShowBand(classID, vertical);
3423}
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 2581 of file shellbrowser.cpp.

2582{
2583 BOOL shown;
2584 if (FAILED(IsControlWindowShown(id, &shown)))
2585 return E_NOTIMPL;
2586 else if (!shown == !fShow) // Negated for true boolean comparison
2587 return S_OK;
2588 else switch (id)
2589 {
2590 case FCW_STATUS:
2591 OnToggleStatusBarVisible(0, 0, NULL, shown);
2592 return S_OK;
2593 case FCW_TREE:
2594 return Exec(&CGID_Explorer, SBCMDID_EXPLORERBARFOLDERS, 0, NULL, NULL);
2595 case FCW_ADDRESSBAR:
2597 CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL);
2598 }
2599 return E_NOTIMPL;
2600}
LRESULT OnToggleStatusBarVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
STDMETHOD() Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override

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

3182{
3183 return E_NOTIMPL;
3184}

◆ TranslateAcceleratorSB()

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

Implements IShellBrowser.

Definition at line 2324 of file shellbrowser.cpp.

2325{
2327 return S_FALSE;
2328 return S_OK;
2329}
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)

◆ UpdateBackForwardState()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateBackForwardState ( )
override

Implements IBrowserService.

Definition at line 2681 of file shellbrowser.cpp.

2682{
2683 return E_NOTIMPL;
2684}

◆ UpdateForwardBackState()

HRESULT CShellBrowser::UpdateForwardBackState ( )

Definition at line 1672 of file shellbrowser.cpp.

1673{
1674 CComPtr<ITravelLog> travelLog;
1675 CComPtr<ITravelEntry> unusedEntry;
1676 bool canGoBack;
1677 bool canGoForward;
1678 HRESULT hResult;
1679
1680 canGoBack = false;
1681 canGoForward = false;
1682 hResult = GetTravelLog(&travelLog);
1683 if (FAILED_UNEXPECTEDLY(hResult))
1684 return hResult;
1685 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_BACK, &unusedEntry);
1686 if (SUCCEEDED(hResult))
1687 {
1688 canGoBack = true;
1689 unusedEntry.Release();
1690 }
1691 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this), TLOG_FORE, &unusedEntry);
1692 if (SUCCEEDED(hResult))
1693 {
1694 canGoForward = true;
1695 unusedEntry.Release();
1696 }
1697 hResult = FireCommandStateChange(canGoBack, 2);
1698 hResult = FireCommandStateChange(canGoForward, 1);
1699 return S_OK;
1700}

Referenced by BrowseToPath().

◆ UpdateGotoMenu()

void CShellBrowser::UpdateGotoMenu ( HMENU  theMenu)

Definition at line 1714 of file shellbrowser.cpp.

1715{
1716 CComPtr<ITravelLog> travelLog;
1717 CComPtr<ITravelEntry> unusedEntry;
1718 int position;
1719 MENUITEMINFO menuItemInfo;
1720 HRESULT hResult;
1721
1723
1724 position = GetMenuItemCount(theMenu);
1725 hResult = GetTravelLog(&travelLog);
1726 if (FAILED_UNEXPECTEDLY(hResult))
1727 return;
1728
1729 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1730 TLOG_BACK,
1731 &unusedEntry);
1732
1733 if (SUCCEEDED(hResult))
1734 {
1736 unusedEntry.Release();
1737 }
1738 else
1740
1741 hResult = travelLog->GetTravelEntry(static_cast<IDropTarget *>(this),
1742 TLOG_FORE,
1743 &unusedEntry);
1744
1745 if (SUCCEEDED(hResult))
1746 {
1748 unusedEntry.Release();
1749 }
1750 else
1752
1753 SHEnableMenuItem(theMenu,
1756
1757 hResult = travelLog->InsertMenuEntries(static_cast<IDropTarget *>(this), theMenu, position,
1759 if (SUCCEEDED(hResult))
1760 {
1761 menuItemInfo.cbSize = sizeof(menuItemInfo);
1762 menuItemInfo.fMask = MIIM_TYPE | MIIM_ID;
1763 menuItemInfo.fType = MF_SEPARATOR;
1764 menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP;
1765 InsertMenuItem(theMenu, position, TRUE, &menuItemInfo);
1766 }
1767}
#define IDM_GOTO_TRAVEL_SEP
Definition: resource.h:84
#define IDM_GOTO_TRAVEL_FIRST
Definition: resource.h:82
#define IDM_GOTO_FORWARD
Definition: resource.h:46
#define IDM_GOTO_TRAVEL_LAST
Definition: resource.h:83
#define IDM_GOTO_TRAVEL_LASTTARGET
Definition: resource.h:86
#define IDM_GOTO_BACK
Definition: resource.h:45
#define IDM_GOTO_TRAVEL_FIRSTTARGET
Definition: resource.h:85
void DeleteMenuItems(HMENU theMenu, unsigned int firstIDToDelete, unsigned int lastIDToDelete)
#define TLMENUF_BACKANDFORTH
Definition: shlobj.h:2743
#define TLMENUF_CHECKCURRENT
Definition: shlobj.h:2740
#define MIIM_ID
Definition: winuser.h:722
#define InsertMenuItem
Definition: winuser.h:5813
#define MF_SEPARATOR
Definition: winuser.h:137
#define MIIM_TYPE
Definition: winuser.h:725

Referenced by UpdateViewMenu().

◆ UpdateSecureLockIcon()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateSecureLockIcon ( int  eSecureLock)
override

Implements IBrowserService2.

Definition at line 2895 of file shellbrowser.cpp.

2896{
2897 return E_NOTIMPL;
2898}

◆ UpdateUpState()

HRESULT CShellBrowser::UpdateUpState ( )

Definition at line 1702 of file shellbrowser.cpp.

1703{
1704 bool canGoUp;
1705 HRESULT hResult;
1706
1707 canGoUp = true;
1709 canGoUp = false;
1710 hResult = FireCommandStateChange(canGoUp, 3);
1711 return S_OK;
1712}

Referenced by BrowseToPath().

◆ UpdateViewMenu()

void CShellBrowser::UpdateViewMenu ( HMENU  theMenu)

Definition at line 1769 of file shellbrowser.cpp.

1770{
1771 CComPtr<ITravelLog> travelLog;
1772 HMENU gotoMenu;
1773 OLECMD commandList[5];
1774 HMENU toolbarMenuBar;
1775 HMENU toolbarMenu;
1776 MENUITEMINFO menuItemInfo;
1777 HRESULT hResult;
1778
1779 gotoMenu = SHGetMenuFromID(theMenu, FCIDM_MENU_EXPLORE);
1780 if (gotoMenu != NULL)
1781 UpdateGotoMenu(gotoMenu);
1782
1783 commandList[0].cmdID = ITID_TOOLBARBANDSHOWN;
1784 commandList[1].cmdID = ITID_ADDRESSBANDSHOWN;
1785 commandList[2].cmdID = ITID_LINKSBANDSHOWN;
1786 commandList[3].cmdID = ITID_TOOLBARLOCKED;
1787 commandList[4].cmdID = ITID_CUSTOMIZEENABLED;
1788
1790 CGID_PrivCITCommands, 5, commandList, NULL);
1791 if (FAILED_UNEXPECTEDLY(hResult))
1793 else
1794 {
1795 menuItemInfo.cbSize = sizeof(menuItemInfo);
1796 menuItemInfo.fMask = MIIM_SUBMENU;
1797 GetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo);
1798 DestroyMenu(menuItemInfo.hSubMenu);
1799
1800 toolbarMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU));
1801 toolbarMenu = GetSubMenu(toolbarMenuBar, 0);
1802 RemoveMenu(toolbarMenuBar, 0, MF_BYPOSITION);
1803 DestroyMenu(toolbarMenuBar);
1804
1805 // TODO: Implement
1806 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf & OLECMDF_ENABLED);
1807 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_ENABLED);
1808 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_ENABLED);
1809 SHEnableMenuItem(toolbarMenu, IDM_TOOLBARS_CUSTOMIZE, commandList[4].cmdf & OLECMDF_ENABLED);
1810
1811 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf & OLECMDF_LATCHED);
1812 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_LATCHED);
1813 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_LATCHED);
1814 SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LOCKTOOLBARS, commandList[3].cmdf & OLECMDF_LATCHED);
1815 if ((commandList[4].cmdf & OLECMDF_ENABLED) == 0)
1819
1820 menuItemInfo.cbSize = sizeof(menuItemInfo);
1821 menuItemInfo.fMask = MIIM_SUBMENU;
1822 menuItemInfo.hSubMenu = toolbarMenu;
1823 SetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo);
1824 }
1826}
void UpdateGotoMenu(HMENU theMenu)
#define IDM_VIEW_TOOLBARS
Definition: resource.h:29
#define IDM_TOOLBARS_LOCKTOOLBARS
Definition: resource.h:33
#define IDM_TOOLBARS_TEXTLABELS
Definition: resource.h:35
#define IDM_TOOLBARS_STANDARDBUTTONS
Definition: resource.h:30
#define IDM_CABINET_CONTEXTMENU
Definition: resource.h:88
#define IDM_TOOLBARS_GOBUTTON
Definition: resource.h:36
#define IDM_TOOLBARS_CUSTOMIZE
Definition: resource.h:34
#define IDM_VIEW_STATUSBAR
Definition: resource.h:37
#define IDM_TOOLBARS_ADDRESSBAR
Definition: resource.h:31
#define IDM_TOOLBARS_LINKSBAR
Definition: resource.h:32
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
Definition: ordinal.c:1796
OLECMDF cmdf
Definition: olecmd.c:716
#define FCIDM_MENU_EXPLORE
Definition: shlobj.h:638
#define SetMenuItemInfo
Definition: winuser.h:5859
#define MIIM_SUBMENU
Definition: winuser.h:723
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define GetMenuItemInfo
Definition: winuser.h:5797

Referenced by OnInitMenuPopup().

◆ UpdateWindowList()

HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateWindowList ( )
override

Implements IBrowserService.

Definition at line 2676 of file shellbrowser.cpp.

2677{
2678 return E_NOTIMPL;
2679}

◆ UpdateWindowTitle()

void CShellBrowser::UpdateWindowTitle ( )

Definition at line 4110 of file shellbrowser.cpp.

4111{
4113 SHGDNF flags = SHGDN_FORADDRESSBAR;
4114
4116 flags |= SHGDN_FORPARSING;
4117
4120}
static char title[]
Definition: ps.c:92
#define _countof(array)
Definition: sndvol32.h:70
BOOL fFullPathTitle
Definition: shlobj.h:2386

Referenced by BrowseToPath(), and RefreshCabinetState().

◆ v_CheckZoneCrossing()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_CheckZoneCrossing ( LPCITEMIDLIST  pidl)
override

Definition at line 3112 of file shellbrowser.cpp.

3113{
3114 return E_NOTIMPL;
3115}

◆ v_MayGetNextToolbarFocus()

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

Implements IBrowserService2.

Definition at line 3072 of file shellbrowser.cpp.

3074{
3075 return E_NOTIMPL;
3076}

◆ v_MayTranslateAccelerator()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayTranslateAccelerator ( MSG pmsg)
override

Implements IBrowserService2.

Definition at line 3093 of file shellbrowser.cpp.

3094{
3095 for (int i = 0; i < 3; i++)
3096 {
3097 if (IUnknown_TranslateAcceleratorIO(fClientBars[i].clientBar, pmsg) == S_OK)
3098 return S_OK;
3099 }
3100
3101 if (!fCurrentShellView)
3102 return S_FALSE;
3103
3104 return fCurrentShellView->TranslateAcceleratorW(pmsg);
3105}
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
Definition: ordinal.c:4263

◆ v_ShowHideChildWindows()

HRESULT STDMETHODCALLTYPE CShellBrowser::v_ShowHideChildWindows ( BOOL  fChildOnly)
override

Implements IBrowserService2.

Definition at line 2987 of file shellbrowser.cpp.

2988{
2989 return E_NOTIMPL;
2990}

◆ WindowProc()

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

Definition at line 1466 of file shellbrowser.cpp.

1467{
1468 CShellBrowser *pThis = reinterpret_cast<CShellBrowser *>(hWnd);
1469 _ATL_MSG msg(pThis->m_hWnd, uMsg, wParam, lParam);
1470 LRESULT lResult;
1471 const _ATL_MSG *previousMessage;
1472 BOOL handled;
1473 WNDPROC saveWindowProc;
1474 HRESULT hResult;
1475
1476 hWnd = pThis->m_hWnd;
1477 previousMessage = pThis->m_pCurrentMsg;
1478 pThis->m_pCurrentMsg = &msg;
1479
1480 /* If the shell browser is initialized, let the menu band preprocess the messages */
1481 if (pThis->fCurrentDirectoryPIDL)
1482 {
1483 CComPtr<IMenuBand> menuBand;
1484 hResult = pThis->GetMenuBand(IID_PPV_ARG(IMenuBand, &menuBand));
1485 if (SUCCEEDED(hResult) && menuBand.p != NULL)
1486 {
1487 hResult = menuBand->TranslateMenuMessage(&msg, &lResult);
1488 if (hResult == S_OK)
1489 return lResult;
1490 uMsg = msg.message;
1491 wParam = msg.wParam;
1492 lParam = msg.lParam;
1493 }
1494 menuBand.Release();
1495 }
1496
1497 handled = pThis->ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult, 0);
1498 ATLASSERT(pThis->m_pCurrentMsg == &msg);
1499 if (handled == FALSE)
1500 {
1501 if (uMsg == WM_NCDESTROY)
1502 {
1503 saveWindowProc = reinterpret_cast<WNDPROC>(::GetWindowLongPtr(hWnd, GWLP_WNDPROC));
1504 lResult = pThis->DefWindowProc(uMsg, wParam, lParam);
1505 if (saveWindowProc == reinterpret_cast<WNDPROC>(::GetWindowLongPtr(hWnd, GWLP_WNDPROC)))
1507 pThis->m_dwState |= WINSTATE_DESTROYED;
1508 }
1509 else
1510 lResult = pThis->DefWindowProc(uMsg, wParam, lParam);
1511 }
1512 pThis->m_pCurrentMsg = previousMessage;
1513 if (previousMessage == NULL && (pThis->m_dwState & WINSTATE_DESTROYED) != 0)
1514 {
1515 pThis->m_dwState &= ~WINSTATE_DESTROYED;
1516 pThis->m_hWnd = NULL;
1517 pThis->OnFinalMessage(hWnd);
1518 }
1519 return lResult;
1520}
#define ATLASSERT(x)
Definition: CComVariant.cpp:10
#define msg(x)
Definition: auth_time.c:54
HWND hWnd
Definition: settings.c:17
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:1684
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2906

Referenced by GetWindowProc().

Member Data Documentation

◆ BIHorizontalBaseBar

const int CShellBrowser::BIHorizontalBaseBar = 2
staticprivate

Definition at line 289 of file shellbrowser.cpp.

Referenced by GetBaseBar().

◆ BIInternetToolbar

◆ BIVerticalBaseBar

const int CShellBrowser::BIVerticalBaseBar = 1
staticprivate

Definition at line 288 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 292 of file shellbrowser.cpp.

Referenced by BrowseToPath(), and OnDestroy().

◆ fCurrentShellView

◆ fCurrentShellViewWindow

HWND CShellBrowser::fCurrentShellViewWindow
private

◆ fCurrentVertBar

GUID CShellBrowser::fCurrentVertBar
private

Definition at line 300 of file shellbrowser.cpp.

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

◆ fHistoryBindContext

IBindCtx* CShellBrowser::fHistoryBindContext
private

Definition at line 305 of file shellbrowser.cpp.

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

◆ fHistoryObject

IOleObject* CShellBrowser::fHistoryObject
private

Definition at line 303 of file shellbrowser.cpp.

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

◆ fHistoryStream

IStream* CShellBrowser::fHistoryStream
private

Definition at line 304 of file shellbrowser.cpp.

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

◆ fStatusBar

HWND CShellBrowser::fStatusBar
private

◆ fToolbarProxy

CToolbarProxy CShellBrowser::fToolbarProxy
private

Definition at line 296 of file shellbrowser.cpp.

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

◆ fTravelLog

CComPtr<ITravelLog> CShellBrowser::fTravelLog
private

Definition at line 298 of file shellbrowser.cpp.

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

◆ grfMode

DWORD CShellBrowser::grfMode

Definition at line 504 of file shellbrowser.cpp.

◆ m_BrowserSvcFlags

DWORD CShellBrowser::m_BrowserSvcFlags
private

Definition at line 310 of file shellbrowser.cpp.

Referenced by CShellBrowser(), GetFlags(), SaveITBarLayout(), SetFlags(), and SetTopBrowser().

◆ m_deffoldersettings

SBFOLDERSETTINGS CShellBrowser::m_deffoldersettings
private

◆ m_Destroyed

bool CShellBrowser::m_Destroyed
private

Definition at line 311 of file shellbrowser.cpp.

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

◆ m_hAccel

HACCEL CShellBrowser::m_hAccel
private

Definition at line 307 of file shellbrowser.cpp.

Referenced by OnCreate(), and TranslateAcceleratorSB().

◆ m_settings

◆ menuDsa

HDSA CShellBrowser::menuDsa
private

◆ override [1/4]

UINT WPARAM LPARAM lParam CShellBrowser::override

Definition at line 455 of file shellbrowser.cpp.

◆ override [2/4]

LPARAM lParam CShellBrowser::override

Definition at line 460 of file shellbrowser.cpp.

◆ override [3/4]

DWORD LPCWSTR pwszName CShellBrowser::override

Definition at line 504 of file shellbrowser.cpp.

◆ override [4/4]

WPARAM LPARAM lParam CShellBrowser::override

Definition at line 505 of file shellbrowser.cpp.

◆ uMsg

◆ wParam [1/2]

◆ wParam [2/2]

WPARAM CShellBrowser::wParam

Definition at line 505 of file shellbrowser.cpp.


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