ReactOS 0.4.16-dev-36-g301675c
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 OnSysColorChange (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 731 of file shellbrowser.cpp.

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

749{
750 if (menuDsa)
752}
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 2941 of file shellbrowser.cpp.

2942{
2943 return E_NOTIMPL;
2944}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ _CancelPendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView ( )
override

Implements IBrowserService2.

Definition at line 2946 of file shellbrowser.cpp.

2947{
2948 return E_NOTIMPL;
2949}

◆ _CloseAndReleaseToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars ( BOOL  fClose)
override

Implements IBrowserService2.

Definition at line 3093 of file shellbrowser.cpp.

3094{
3095 return E_NOTIMPL;
3096}

◆ _DisableModeless()

HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless ( )
override

Implements IBrowserService2.

Definition at line 2961 of file shellbrowser.cpp.

2962{
2963 return E_NOTIMPL;
2964}

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

2993{
2994 return E_NOTIMPL;
2995}

◆ _GetBorderDWHelper()

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

Implements IBrowserService2.

Definition at line 3133 of file shellbrowser.cpp.

3134{
3135 return E_NOTIMPL;
3136}

◆ _GetEffectiveClientArea()

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

Implements IBrowserService2.

Definition at line 3053 of file shellbrowser.cpp.

3054{
3055 return E_NOTIMPL;
3056}

◆ _GetViewBorderRect()

HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect ( RECT prc)
override

Implements IBrowserService2.

Definition at line 3033 of file shellbrowser.cpp.

3034{
3035 return E_NOTIMPL;
3036}

◆ _Initialize()

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

Implements IBrowserService2.

Definition at line 2936 of file shellbrowser.cpp.

2937{
2938 return E_NOTIMPL;
2939}

◆ _LoadToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3088 of file shellbrowser.cpp.

3089{
3090 return E_NOTIMPL;
3091}

◆ _MaySaveChanges()

HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges ( )
override

Implements IBrowserService2.

Definition at line 2951 of file shellbrowser.cpp.

2952{
2953 return E_NOTIMPL;
2954}

◆ _NavigateToPidl()

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

Definition at line 2966 of file shellbrowser.cpp.

2967{
2968 const UINT navflags = HLNF_NAVIGATINGBACK | HLNF_NAVIGATINGFORWARD;
2969 if ((grfHLNF & navflags) && grfHLNF != ~0ul)
2970 {
2971 UINT SbspFlags = (grfHLNF & HLNF_NAVIGATINGBACK) ? SBSP_NAVIGATEBACK : SBSP_NAVIGATEFORWARD;
2972 if (grfHLNF & SHHLNF_WRITENOHISTORY)
2973 SbspFlags |= SBSP_WRITENOHISTORY;
2974 if (grfHLNF & SHHLNF_NOAUTOSELECT)
2975 SbspFlags |= SBSP_NOAUTOSELECT;
2976 return BrowseObject(pidl, SbspFlags);
2977 }
2978 return E_NOTIMPL;
2979}
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 3008 of file shellbrowser.cpp.

3009{
3010 return E_NOTIMPL;
3011}

◆ _PauseOrResumeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView ( BOOL  fPaused)
override

Implements IBrowserService2.

Definition at line 2956 of file shellbrowser.cpp.

2957{
2958 return E_NOTIMPL;
2959}

◆ _put_itbLastFocus()

HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus ( UINT  itbLastFocus)
override

Implements IBrowserService2.

Definition at line 3023 of file shellbrowser.cpp.

3024{
3025 return E_NOTIMPL;
3026}

◆ _ResizeNextBorder()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder ( UINT  itb)
override

Implements IBrowserService2.

Definition at line 3043 of file shellbrowser.cpp.

3044{
3045 return E_NOTIMPL;
3046}

◆ _ResizeNextBorderHelper()

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

Implements IBrowserService2.

Definition at line 3104 of file shellbrowser.cpp.

3105{
3106 return E_NOTIMPL;
3107}

◆ _ResizeView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView ( )
override

Implements IBrowserService2.

Definition at line 3048 of file shellbrowser.cpp.

3049{
3050 return E_NOTIMPL;
3051}

◆ _SaveToolbars()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars ( IStream pstm)
override

Implements IBrowserService2.

Definition at line 3083 of file shellbrowser.cpp.

3084{
3085 return E_NOTIMPL;
3086}

◆ _SendChildren()

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

Implements IBrowserService2.

Definition at line 2997 of file shellbrowser.cpp.

2999{
3000 return E_NOTIMPL;
3001}

◆ _SetFocus()

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

Implements IBrowserService2.

Definition at line 3114 of file shellbrowser.cpp.

3115{
3116 return E_NOTIMPL;
3117}

◆ _SwitchActivationNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow ( )
override

Implements IBrowserService2.

Definition at line 2986 of file shellbrowser.cpp.

2987{
2988 return E_NOTIMPL;
2989}

◆ _TryShell2Rename()

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

Definition at line 2981 of file shellbrowser.cpp.

2982{
2983 return E_NOTIMPL;
2984}

◆ _UIActivateView()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView ( UINT  uState)
override

Implements IBrowserService2.

Definition at line 3028 of file shellbrowser.cpp.

3029{
3030 return E_NOTIMPL;
3031}

◆ _UpdateViewRectSize()

HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize ( )
override

Implements IBrowserService2.

Definition at line 3038 of file shellbrowser.cpp.

3039{
3040 return E_NOTIMPL;
3041}

◆ ActivatePendingView()

HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView ( )
override

Implements IBrowserService2.

Definition at line 2864 of file shellbrowser.cpp.

2865{
2866 return E_NOTIMPL;
2867}

◆ AllowViewResize()

HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize ( BOOL  f)
override

Implements IBrowserService2.

Definition at line 2911 of file shellbrowser.cpp.

2912{
2913 return E_NOTIMPL;
2914}

◆ ApplyBrowserDefaultFolderSettings()

HRESULT CShellBrowser::ApplyBrowserDefaultFolderSettings ( IShellView pvs)

Definition at line 816 of file shellbrowser.cpp.

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

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

2358{
2360 // FIXME: Should not automatically show the Explorer band
2361 if ((wFlags & SBSP_EXPLOREMODE) && !(wFlags & SBSP_NEWBROWSER))
2362 ShowBand(CLSID_ExplorerBand, true);
2363
2364 CComHeapPtr<ITEMIDLIST> pidlResolved;
2365 if (wFlags & (SBSP_RELATIVE | SBSP_PARENT))
2366 {
2367 HRESULT hr = CreateRelativeBrowsePIDL(pidl, wFlags, &pidlResolved);
2368 if (FAILED(hr))
2369 return hr;
2370 pidl = pidlResolved;
2371 }
2372
2373 if (wFlags & SBSP_NEWBROWSER)
2374 return OpenNewBrowserWindow(pidl, wFlags);
2375
2376 switch (wFlags & (SBSP_ABSOLUTE | SBSP_RELATIVE | SBSP_PARENT | SBSP_NAVIGATEBACK | SBSP_NAVIGATEFORWARD))
2377 {
2378 case SBSP_PARENT:
2379 return NavigateToParent();
2380 case SBSP_NAVIGATEBACK:
2381 return GoBack();
2382 case SBSP_NAVIGATEFORWARD:
2383 return GoForward();
2384 }
2385
2386 // TODO: SBSP_WRITENOHISTORY? SBSP_CREATENOHISTORY?
2388 if (fTravelLog)
2390 if (wFlags & SBSP_ACTIVATE_NOFOCUS)
2392 return BrowseToPIDL(pidl, flags);
2393}
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 1012 of file shellbrowser.cpp.

1014{
1015 CComPtr<IShellFolder> saveCurrentShellFolder;
1016 CComPtr<IShellView> saveCurrentShellView;
1017 CComPtr<IShellView> newShellView;
1018 CComPtr<ITravelLog> travelLog;
1019 HWND newShellViewWindow;
1020 BOOL windowUpdateIsLocked;
1021 RECT shellViewWindowBounds;
1022 HWND previousView;
1023 HCURSOR saveCursor;
1024 wchar_t newTitle[MAX_PATH];
1025 SHGDNF nameFlags;
1026 HRESULT hResult;
1027 //TODO: BOOL nohistory = m_BrowserSvcFlags & BSF_NAVNOHISTORY;
1028
1029 if (m_Destroyed)
1030 return S_FALSE;
1031
1032 if (newShellFolder == NULL)
1033 return E_INVALIDARG;
1034
1035 hResult = GetTravelLog(&travelLog);
1036 if (FAILED_UNEXPECTEDLY(hResult))
1037 return hResult;
1038
1039 if (FAILED_UNEXPECTEDLY(hResult = SHILClone(absolutePIDL, &absolutePIDL)))
1040 return hResult;
1041 CComHeapPtr<ITEMIDLIST> pidlAbsoluteClone(const_cast<LPITEMIDLIST>(absolutePIDL));
1042
1043 // update history
1045 {
1046 if (travelLog->CountEntries(static_cast<IDropTarget *>(this)) > 0)
1047 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1048 // what to do with error? Do we want to halt browse because state save failed?
1049 }
1050
1052 {
1053 SaveViewState();
1054 fCurrentShellView->UIActivate(SVUIA_DEACTIVATE);
1055 }
1056
1057 // create view object
1058 hResult = newShellFolder->CreateViewObject(m_hWnd, IID_PPV_ARG(IShellView, &newShellView));
1059 if (FAILED_UNEXPECTEDLY(hResult))
1060 return hResult;
1061 previousView = fCurrentShellViewWindow;
1062
1063 // enter updating section
1064 saveCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));
1065 windowUpdateIsLocked = LockWindowUpdate(TRUE);
1066 if (fCurrentShellView != NULL)
1068
1069 // set site
1070 hResult = IUnknown_SetSite(newShellView, static_cast<IDropTarget *>(this));
1071
1072 // update folder and view
1073 saveCurrentShellFolder = fCurrentShellFolder;
1074 saveCurrentShellView = fCurrentShellView;
1075 fCurrentShellFolder = newShellFolder;
1076 fCurrentShellView = newShellView;
1077
1078 // get boundary
1079 if (previousView != NULL)
1080 ::GetWindowRect(previousView, &shellViewWindowBounds);
1081 else
1082 ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds));
1083 ::MapWindowPoints(0, m_hWnd, reinterpret_cast<POINT *>(&shellViewWindowBounds), 2);
1084
1085 // update current pidl
1087 fCurrentDirectoryPIDL = pidlAbsoluteClone.Detach();
1088 /* CORE-19697: CAddressEditBox::OnWinEvent(CBN_SELCHANGE) causes CAddressEditBox to
1089 * call BrowseObject(pidlLastParsed). As part of our browsing we call FireNavigateComplete
1090 * and this in turn causes CAddressEditBox::Invoke to ILFree(pidlLastParsed)!
1091 * We then call SHBindToParent on absolutePIDL (which is really (the now invalid) pidlLastParsed) and we
1092 * end up accessing invalid memory! We therefore set absolutePIDL to be our cloned PIDL here.
1093 */
1094 absolutePIDL = fCurrentDirectoryPIDL;
1095
1096 // create view window
1097 hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings,
1098 this, &shellViewWindowBounds, &newShellViewWindow);
1099 if (FAILED_UNEXPECTEDLY(hResult) || newShellViewWindow == NULL)
1100 {
1101 fCurrentShellView = saveCurrentShellView;
1102 fCurrentShellFolder = saveCurrentShellFolder;
1104 if (windowUpdateIsLocked)
1106 SetCursor(saveCursor);
1107 return hResult;
1108 }
1109
1110 // update view window
1111 if (saveCurrentShellView != NULL)
1112 saveCurrentShellView->DestroyViewWindow();
1113 fCurrentShellViewWindow = newShellViewWindow;
1114
1115 if (previousView == NULL)
1116 {
1118 }
1119
1120 // no use
1121 saveCurrentShellView.Release();
1122 saveCurrentShellFolder.Release();
1123
1124 hResult = newShellView->UIActivate((flags & BTP_ACTIVATE_NOFOCUS) ? SVUIA_ACTIVATE_NOFOCUS : SVUIA_ACTIVATE_FOCUS);
1125
1126 // leave updating section
1127 if (windowUpdateIsLocked)
1129 SetCursor(saveCursor);
1130
1131 // update history
1133 {
1134 hResult = travelLog->AddEntry(static_cast<IDropTarget *>(this), FALSE);
1135 hResult = travelLog->UpdateEntry(static_cast<IDropTarget *>(this), FALSE);
1136 }
1137
1138 // completed
1139 nameFlags = SHGDN_FORADDRESSBAR | SHGDN_FORPARSING;
1140 hResult = IEGetNameAndFlags(fCurrentDirectoryPIDL, nameFlags, newTitle,
1141 sizeof(newTitle) / sizeof(wchar_t), NULL);
1142 if (SUCCEEDED(hResult))
1143 {
1144 FireNavigateComplete(newTitle);
1145 }
1146 else
1147 {
1148 FireNavigateComplete(L"ERROR");
1149 }
1150
1152
1153 LPCITEMIDLIST pidlChild;
1154 INT index, indexOpen;
1155 HIMAGELIST himlSmall, himlLarge;
1156
1158 hResult = SHBindToParent(absolutePIDL, IID_PPV_ARG(IShellFolder, &sf), &pidlChild);
1159 if (SUCCEEDED(hResult))
1160 {
1161 index = SHMapPIDLToSystemImageListIndex(sf, pidlChild, &indexOpen);
1162
1163 Shell_GetImageLists(&himlLarge, &himlSmall);
1164
1165 HICON icSmall = ImageList_GetIcon(himlSmall, indexOpen, 0);
1166 HICON icLarge = ImageList_GetIcon(himlLarge, indexOpen, 0);
1167
1168 /* Hack to make it possible to release the old icons */
1169 /* Something seems to go wrong with WM_SETICON */
1170 HICON oldSmall = (HICON)SendMessage(WM_GETICON, ICON_SMALL, 0);
1171 HICON oldLarge = (HICON)SendMessage(WM_GETICON, ICON_BIG, 0);
1172
1173 SendMessage(WM_SETICON, ICON_SMALL, reinterpret_cast<LPARAM>(icSmall));
1174 SendMessage(WM_SETICON, ICON_BIG, reinterpret_cast<LPARAM>(icLarge));
1175
1176 DestroyIcon(oldSmall);
1177 DestroyIcon(oldLarge);
1178 }
1179
1181 hResult = UpdateForwardBackState();
1182 hResult = UpdateUpState();
1183 return S_OK;
1184}
#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 SHILClone(_In_opt_ LPCITEMIDLIST pidl, _Outptr_ LPITEMIDLIST *ppidl)
Definition: utils.cpp:13
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
Definition: ordinal.c:1411
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:80
#define L(x)
Definition: ntvdm.h:50
void WINAPI ILFree(LPITEMIDLIST pidl)
Definition: pidl.c:946
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
Definition: pidl.c:1356
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
#define ICON_BIG
Definition: tnclass.cpp:51
#define ICON_SMALL
Definition: tnclass.cpp:48
int32_t INT
Definition: typedefs.h:58
#define ZeroMemory
Definition: winbase.h: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:5855
#define LoadCursor
Definition: winuser.h:5824
#define IDC_WAIT
Definition: winuser.h:689
BOOL WINAPI DestroyIcon(_In_ HICON)
Definition: cursoricon.c:2097
#define WM_SETREDRAW
Definition: winuser.h:1619
#define IID_PPV_ARG(Itype, ppType)

Referenced by BrowseToPIDL().

◆ BrowseToPIDL()

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

Definition at line 886 of file shellbrowser.cpp.

887{
888 CComPtr<IShellFolder> newFolder;
890 HRESULT hResult;
891 CLSID clsid;
892 BOOL HasIconViewType;
893
894 // called by shell view to browse to new folder
895 // also called by explorer band to navigate to new folder
896 hResult = SHBindToFolder(pidl, &newFolder);
897 if (FAILED_UNEXPECTEDLY(hResult))
898 return hResult;
899 // HACK & FIXME: Get view mode from shellbag when fully implemented.
900 IUnknown_GetClassID(newFolder, &clsid);
901 HasIconViewType = clsid == CLSID_MyComputer || clsid == CLSID_ControlPanel ||
902 clsid == CLSID_ShellDesktop;
903
904 if (HasIconViewType)
905 newFolderSettings.ViewMode = FVM_ICON;
906 hResult = BrowseToPath(newFolder, pidl, &newFolderSettings, flags);
907 if (FAILED_UNEXPECTEDLY(hResult))
908 return hResult;
909 return S_OK;
910}
HRESULT BrowseToPath(IShellFolder *newShellFolder, LPCITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags)
HRESULT WINAPI SHBindToFolder(LPCITEMIDLIST path, IShellFolder **newFolder)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
Definition: ordinal.c:1457
REFCLSID clsid
Definition: msctf.c:82
@ FVM_ICON
Definition: shobjidl.idl:679

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

◆ BuildExplorerBandCategory()

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

Definition at line 1878 of file shellbrowser.cpp.

1879{
1880 HRESULT hr;
1881 CComPtr<IEnumGUID> pEnumGUID;
1882 WCHAR wszBandName[MAX_PATH];
1883 WCHAR wszBandGUID[MAX_PATH];
1884 WCHAR wRegKey[MAX_PATH];
1885 UINT cBands;
1886 DWORD dwRead;
1887 DWORD dwDataSize;
1888 GUID iter;
1889 MenuBandInfo mbi;
1890
1891 mbi.fVertical = IsEqualGUID(category, CATID_InfoBand);
1892 cBands = 0;
1893 hr = SHEnumClassesOfCategories(1, &category, 0, NULL, &pEnumGUID);
1895 {
1896 return hr;
1897 }
1898 do
1899 {
1900 pEnumGUID->Next(1, &iter, &dwRead);
1901 if (dwRead)
1902 {
1903 // Get the band name
1904 if (IsBuiltinBand(iter))
1905 continue;
1906 if (!StringFromGUID2(iter, wszBandGUID, MAX_PATH))
1907 continue;
1908 StringCchPrintfW(wRegKey, MAX_PATH, L"CLSID\\%s", wszBandGUID);
1909 dwDataSize = MAX_PATH;
1910 SHGetValue(HKEY_CLASSES_ROOT, wRegKey, NULL, NULL, wszBandName, &dwDataSize);
1911
1912 mbi.barGuid = iter;
1913 InsertMenu(hBandsMenu, dwPos + cBands, MF_BYPOSITION, IDM_EXPLORERBAND_BEGINCUSTOM + DSA_GetItemCount(menuDsa), wszBandName);
1914 DSA_AppendItem(menuDsa, &mbi);
1915 cBands++;
1916 }
1917 }
1918 while (dwRead > 0);
1919 if (nbFound)
1920 *nbFound = cBands;
1921 return S_OK;
1922}
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:4832
#define DSA_GetItemCount(hdsa)
Definition: commctrl.h:4831
#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:5815
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by BuildExplorerBandMenu().

◆ BuildExplorerBandMenu()

HRESULT CShellBrowser::BuildExplorerBandMenu ( )

Definition at line 1854 of file shellbrowser.cpp.

1855{
1856 HMENU hBandsMenu;
1857 UINT nbFound;
1858
1860 if (!hBandsMenu)
1861 {
1862 OutputDebugString(L"No menu !\n");
1863 return E_FAIL;
1864 }
1866 BuildExplorerBandCategory(hBandsMenu, CATID_InfoBand, 4, NULL);
1867 BuildExplorerBandCategory(hBandsMenu, CATID_CommBand, 20, &nbFound);
1868 if (!nbFound)
1869 {
1870 // Remove separator
1872 }
1873 // Remove media menu since XP does it (according to API Monitor)
1875 return S_OK;
1876}
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:1997
BOOL WINAPI DSA_DeleteAllItems(HDSA hdsa)
Definition: dsa.c:367
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
#define OutputDebugString
Definition: winbase.h: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 2776 of file shellbrowser.cpp.

2777{
2778 return E_NOTIMPL;
2779}

◆ CanNavigateNow()

HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow ( void  )
override

Implements IBrowserService.

Definition at line 2724 of file shellbrowser.cpp.

2725{
2726 return E_NOTIMPL;
2727}

◆ ClientToWindow()

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

Definition at line 3306 of file shellbrowser.cpp.

3307{
3308 return E_NOTIMPL;
3309}

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 2269 of file shellbrowser.cpp.

2270{
2271 return E_NOTIMPL;
2272}

◆ CreateBrowserPropSheetExt()

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

Implements IBrowserService2.

Definition at line 2875 of file shellbrowser.cpp.

2876{
2877 return E_NOTIMPL;
2878}

◆ CreateRelativeBrowsePIDL()

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

Definition at line 869 of file shellbrowser.cpp.

870{
871 if (SbspFlags & SBSP_RELATIVE)
872 return SHILCombine(fCurrentDirectoryPIDL, relative, ppidl);
873
874 if (SbspFlags & SBSP_PARENT)
875 {
876 HRESULT hr = GetPidl(ppidl);
877 if (FAILED(hr))
878 return hr;
879 ILRemoveLastID(*ppidl);
880 return S_OK;
881 }
882 // TODO: SBSP_NAVIGATEBACK and SBSP_NAVIGATEFORWARD?
883 return E_UNEXPECTED;
884}
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 2869 of file shellbrowser.cpp.

2871{
2872 return E_NOTIMPL;
2873}

◆ DisplayParseError()

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

Implements IBrowserService.

Definition at line 2677 of file shellbrowser.cpp.

2678{
2679 return E_NOTIMPL;
2680}

◆ DoFolderOptions()

HRESULT CShellBrowser::DoFolderOptions ( )

Definition at line 1423 of file shellbrowser.cpp.

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

2475{
2476 return E_NOTIMPL;
2477}

◆ DragLeave()

HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave ( void  )
override

Implements IDropTarget.

Definition at line 2484 of file shellbrowser.cpp.

2485{
2486 return E_NOTIMPL;
2487}

◆ DragOver()

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

Implements IDropTarget.

Definition at line 2479 of file shellbrowser.cpp.

2480{
2481 return E_NOTIMPL;
2482}

◆ Drop()

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

Implements IDropTarget.

Definition at line 2489 of file shellbrowser.cpp.

2491{
2492 return E_NOTIMPL;
2493}

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB ( BOOL  fEnable)
override

Implements IShellBrowser.

Definition at line 2345 of file shellbrowser.cpp.

2346{
2347 return E_NOTIMPL;
2348}

◆ Exec()

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

Implements IOleCommandTarget.

Definition at line 2115 of file shellbrowser.cpp.

2117{
2118 HRESULT hResult;
2119
2120 if (!pguidCmdGroup)
2121 {
2122 TRACE("Unhandled null CGID %d %d %p %p\n", nCmdID, nCmdexecopt, pvaIn, pvaOut);
2123 return E_NOTIMPL;
2124 }
2125 if (IsEqualIID(*pguidCmdGroup, CGID_Explorer))
2126 {
2127 switch (nCmdID)
2128 {
2129 case 0x1c: //Toggle Search
2130 case 0x1d: //Toggle History
2131 case 0x1e: //Toggle Favorites
2132 case SBCMDID_EXPLORERBARFOLDERS: //Toggle Folders
2133 const GUID* pclsid;
2134 if (nCmdID == 0x1c) pclsid = &CLSID_FileSearchBand;
2135 else if (nCmdID == 0x1d) pclsid = &CLSID_SH_HistBand;
2136 else if (nCmdID == 0x1e) pclsid = &CLSID_SH_FavBand;
2137 else pclsid = &CLSID_ExplorerBand;
2138
2139 if (IsEqualCLSID(*pclsid, fCurrentVertBar))
2140 {
2141 hResult = IUnknown_ShowDW(fClientBars[BIVerticalBaseBar].clientBar.p, FALSE);
2144 }
2145 else
2146 {
2147 hResult = ShowBand(*pclsid, true);
2148 }
2149 return S_OK;
2150 case 0x22:
2151 //Sent when a band closes
2152 if (V_VT(pvaIn) != VT_UNKNOWN)
2153 return E_INVALIDARG;
2154
2155 if (IUnknownIsEqual(V_UNKNOWN(pvaIn), fClientBars[BIVerticalBaseBar].clientBar.p))
2156 {
2159 }
2160 return S_OK;
2161 case 0x27:
2162 if (nCmdexecopt == 1)
2163 {
2164 // pvaIn is a VT_UNKNOWN with a band that is being hidden
2165 }
2166 else
2167 {
2168 // update zones part of the status bar
2169 }
2170 return S_OK;
2171 case 0x35: // don't do this, and the internet toolbar doesn't create a menu band
2172 V_VT(pvaOut) = VT_INT_PTR;
2173 V_INTREF(pvaOut) = reinterpret_cast<INT *>(
2174 LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU)));
2175 return S_OK;
2176 case 0x38:
2177 // indicate if this cabinet was opened as a browser
2178 return S_FALSE;
2179 default:
2180 return E_NOTIMPL;
2181 }
2182 }
2183 else if (IsEqualIID(*pguidCmdGroup, CGID_InternetButtons))
2184 {
2185 switch (nCmdID)
2186 {
2187 case 0x23:
2188 // placeholder
2189 return S_OK;
2190 }
2191 }
2192 else if (IsEqualIID(*pguidCmdGroup, CGID_Theater))
2193 {
2194 switch (nCmdID)
2195 {
2196 case 6:
2197 // what is theater mode and why do we receive this?
2198 return E_NOTIMPL;
2199 }
2200 }
2201 else if (IsEqualIID(*pguidCmdGroup, CGID_MenuBand))
2202 {
2203 switch (nCmdID)
2204 {
2205 case 14:
2206 // initialize favorites menu
2207 return S_OK;
2208 }
2209 }
2210 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView))
2211 {
2212 switch (nCmdID)
2213 {
2214 case 0x12:
2215 // refresh on toolbar clicked
2216 return S_OK;
2217 case 0x26:
2218 // called for unknown bands ?
2219 return S_OK;
2220 case 0x4d:
2221 // tell the view if it should hide the task pane or not
2222 return (fClientBars[BIVerticalBaseBar].clientBar.p == NULL) ? S_FALSE : S_OK;
2223 }
2224 }
2225 else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser))
2226 {
2227 switch (nCmdID)
2228 {
2229 case 40994:
2230 return NavigateToParent();
2233 break;
2234 }
2235 }
2236 else if (IsEqualIID(*pguidCmdGroup, CGID_IExplorerToolbar))
2237 {
2238 switch (nCmdID)
2239 {
2240 case 0x7063:
2241 return DoFolderOptions();
2242 }
2243 }
2244 else if (IsEqualIID(*pguidCmdGroup, CGID_DefView))
2245 {
2246 switch (nCmdID)
2247 {
2251 break;
2252 }
2253 }
2254 else
2255 {
2256 return E_NOTIMPL;
2257 }
2258 return E_NOTIMPL;
2259}
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:1087
#define V_UNKNOWN(A)
Definition: oleauto.h:281
#define V_VT(A)
Definition: oleauto.h:211
#define V_INTREF(A)
Definition: oleauto.h:252
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96
#define CGID_InternetButtons
Definition: shlguid.h:248
#define CGID_IExplorerToolbar
#define CGID_MenuBand
#define SBCMDID_EXPLORERBARFOLDERS
Definition: shlobj_undoc.h:64
#define DVCMDID_RESET_DEFAULTFOLDER_SETTINGS
Definition: shlobj_undoc.h:90
#define TRACE(s)
Definition: solgame.cpp:4
#define LoadMenu
Definition: winuser.h:5829
#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 3431 of file shellbrowser.cpp.

3433{
3434 return E_NOTIMPL;
3435}

◆ FindWindowByIndex()

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

Implements ITravelLogClient.

Definition at line 3526 of file shellbrowser.cpp.

3527{
3528 return E_NOTIMPL;
3529}

◆ FireCommandStateChange()

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

Definition at line 1668 of file shellbrowser.cpp.

1669{
1670 VARIANT varArg[2];
1671
1672 V_VT(&varArg[0]) = VT_BOOL;
1673 V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE;
1674 V_VT(&varArg[1]) = VT_I4;
1675 V_I4(&varArg[1]) = commandID;
1676
1677 return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg);
1678}
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 1680 of file shellbrowser.cpp.

1681{
1682 return FireCommandStateChange(false, -1);
1683}
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 1611 of file shellbrowser.cpp.

1612{
1616 HRESULT hResult;
1617
1618 params.rgvarg = arguments;
1619 params.rgdispidNamedArgs = NULL;
1620 params.cArgs = argCount;
1621 params.cNamedArgs = 0;
1622 IUnknown** pp = vec.begin();
1623 while (pp < vec.end())
1624 {
1625 if (*pp != NULL)
1626 {
1627 CComPtr<IDispatch> theDispatch;
1628
1629 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1630 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1631 }
1632 pp++;
1633 }
1634 pp = vec2.begin();
1635 while (pp < vec2.end())
1636 {
1637 if (*pp != NULL)
1638 {
1639 CComPtr<IDispatch> theDispatch;
1640
1641 hResult = (*pp)->QueryInterface(IID_PPV_ARG(IDispatch, &theDispatch));
1642 hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, &params, NULL, NULL, NULL);
1643 }
1644 pp++;
1645 }
1646 return S_OK;
1647}
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 1649 of file shellbrowser.cpp.

1650{
1651 // these two variants intentionally to do use CComVariant because it would double free/release
1652 // or does not need to dispose at all
1653 VARIANT varArg[2];
1654 VARIANT varArgs;
1655 CComBSTR tempString(newDirectory);
1656
1657 V_VT(&varArgs) = VT_BSTR;
1658 V_BSTR(&varArgs) = tempString.m_str;
1659
1660 V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF;
1661 V_VARIANTREF(&varArg[0]) = &varArgs;
1662 V_VT(&varArg[1]) = VT_DISPATCH;
1663 V_DISPATCH(&varArg[1]) = (IDispatch *)this;
1664
1665 return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg);
1666}
@ 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 3506 of file shellbrowser.cpp.

3507{
3508 return E_NOTIMPL;
3509}

◆ get_Application()

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

Definition at line 3212 of file shellbrowser.cpp.

3213{
3214 return E_NOTIMPL;
3215}

◆ get_Busy()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy ( VARIANT_BOOL pBool)
override

Definition at line 3296 of file shellbrowser.cpp.

3297{
3298 return E_NOTIMPL;
3299}

◆ get_Container()

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

Definition at line 3222 of file shellbrowser.cpp.

3223{
3224 return E_NOTIMPL;
3225}

◆ get_Document()

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

Definition at line 3227 of file shellbrowser.cpp.

3228{
3229 return E_NOTIMPL;
3230}

◆ get_FullName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName ( BSTR FullName)
override

Definition at line 3331 of file shellbrowser.cpp.

3332{
3333 return E_NOTIMPL;
3334}

◆ get_FullScreen()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen ( VARIANT_BOOL pbFullScreen)
override

Definition at line 3391 of file shellbrowser.cpp.

3392{
3393 return E_NOTIMPL;
3394}

◆ get_Height()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height ( long pl)
override

Definition at line 3274 of file shellbrowser.cpp.

3275{
3276 return E_NOTIMPL;
3277}

◆ get_HWND()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND ( SHANDLE_PTR pHWND)
override

Definition at line 3326 of file shellbrowser.cpp.

3327{
3328 return E_NOTIMPL;
3329}

◆ get_Left()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left ( long pl)
override

Definition at line 3244 of file shellbrowser.cpp.

3245{
3246 return E_NOTIMPL;
3247}

◆ get_LocationName()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName ( BSTR LocationName)
override

Definition at line 3286 of file shellbrowser.cpp.

3287{
3288 return E_NOTIMPL;
3289}

◆ get_LocationURL()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL ( BSTR LocationURL)
override

Definition at line 3291 of file shellbrowser.cpp.

3292{
3293 return E_NOTIMPL;
3294}

◆ get_MenuBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar ( VARIANT_BOOL Value)
override

Definition at line 3381 of file shellbrowser.cpp.

3382{
3383 return E_NOTIMPL;
3384}

◆ get_Name()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name ( BSTR Name)
override

Definition at line 3321 of file shellbrowser.cpp.

3322{
3323 return E_NOTIMPL;
3324}

◆ get_Offline()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline ( VARIANT_BOOL pbOffline)
override

Definition at line 3456 of file shellbrowser.cpp.

3457{
3458 return E_NOTIMPL;
3459}

◆ get_Parent()

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

Definition at line 3217 of file shellbrowser.cpp.

3218{
3219 return E_NOTIMPL;
3220}

◆ get_Path()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path ( BSTR Path)
override

Definition at line 3336 of file shellbrowser.cpp.

3337{
3338 return E_NOTIMPL;
3339}

◆ get_ReadyState()

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

Definition at line 3451 of file shellbrowser.cpp.

3452{
3453 return E_NOTIMPL;
3454}

◆ get_RegisterAsBrowser()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser ( VARIANT_BOOL pbRegister)
override

Definition at line 3476 of file shellbrowser.cpp.

3477{
3478 return E_NOTIMPL;
3479}

◆ get_RegisterAsDropTarget()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget ( VARIANT_BOOL pbRegister)
override

Definition at line 3486 of file shellbrowser.cpp.

3487{
3488 return E_NOTIMPL;
3489}

◆ get_Resizable()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable ( VARIANT_BOOL Value)
override

Definition at line 3516 of file shellbrowser.cpp.

3517{
3518 return E_NOTIMPL;
3519}

◆ get_Silent()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent ( VARIANT_BOOL pbSilent)
override

Definition at line 3466 of file shellbrowser.cpp.

3467{
3468 return E_NOTIMPL;
3469}

◆ get_StatusBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar ( VARIANT_BOOL pBool)
override

Definition at line 3351 of file shellbrowser.cpp.

3352{
3353 return E_NOTIMPL;
3354}

◆ get_StatusText()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText ( BSTR StatusText)
override

Definition at line 3361 of file shellbrowser.cpp.

3362{
3363 return E_NOTIMPL;
3364}

◆ get_TheaterMode()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode ( VARIANT_BOOL pbRegister)
override

Definition at line 3496 of file shellbrowser.cpp.

3497{
3498 return E_NOTIMPL;
3499}

◆ get_ToolBar()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar ( int Value)
override

Definition at line 3371 of file shellbrowser.cpp.

3372{
3373 return E_NOTIMPL;
3374}

◆ get_Top()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top ( long pl)
override

Definition at line 3254 of file shellbrowser.cpp.

3255{
3256 return E_NOTIMPL;
3257}

◆ get_TopLevelContainer()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer ( VARIANT_BOOL pBool)
override

Definition at line 3232 of file shellbrowser.cpp.

3233{
3234 return E_NOTIMPL;
3235}

◆ get_Type()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type ( BSTR Type)
override

Definition at line 3237 of file shellbrowser.cpp.

3238{
3239 return E_NOTIMPL;
3240}

◆ get_Visible()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible ( VARIANT_BOOL pBool)
override

Definition at line 3341 of file shellbrowser.cpp.

3342{
3343 return E_NOTIMPL;
3344}

◆ get_Width()

HRESULT STDMETHODCALLTYPE CShellBrowser::get_Width ( long pl)
override

Definition at line 3264 of file shellbrowser.cpp.

3265{
3266 return E_NOTIMPL;
3267}

◆ GetBaseBar()

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

Definition at line 1206 of file shellbrowser.cpp.

1207{
1208 CComPtr<IUnknown> newBaseBar;
1209 CComPtr<IDeskBar> deskBar;
1210 CComPtr<IUnknown> newBaseBarSite;
1211 CComPtr<IDeskBarClient> deskBarClient;
1212 IUnknown **cache;
1213 HRESULT hResult;
1214
1215 if (vertical)
1217 else
1219 if (*cache == NULL)
1220 {
1221 hResult = CBaseBar_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBar), vertical);
1222 if (FAILED_UNEXPECTEDLY(hResult))
1223 return hResult;
1224 hResult = CBaseBarSite_CreateInstance(IID_PPV_ARG(IUnknown, &newBaseBarSite), vertical);
1225 if (FAILED_UNEXPECTEDLY(hResult))
1226 return hResult;
1227
1228 // we have to store our basebar into cache now
1229 *cache = newBaseBar;
1230 (*cache)->AddRef();
1231
1232 // tell the new base bar about the shell browser
1233 hResult = IUnknown_SetSite(newBaseBar, static_cast<IDropTarget *>(this));
1234 if (FAILED_UNEXPECTEDLY(hResult))
1235 return hResult;
1236
1237 // tell the new base bar about the new base bar site
1238 hResult = newBaseBar->QueryInterface(IID_PPV_ARG(IDeskBar, &deskBar));
1239 if (FAILED_UNEXPECTEDLY(hResult))
1240 return hResult;
1241 hResult = deskBar->SetClient(newBaseBarSite);
1242 if (FAILED_UNEXPECTEDLY(hResult))
1243 return hResult;
1244
1245 // tell the new base bar site about the new base bar
1246 hResult = newBaseBarSite->QueryInterface(IID_PPV_ARG(IDeskBarClient, &deskBarClient));
1247 if (FAILED_UNEXPECTEDLY(hResult))
1248 return hResult;
1249 hResult = deskBarClient->SetDeskBarSite(newBaseBar);
1250 if (FAILED_UNEXPECTEDLY(hResult))
1251 return hResult;
1252
1253 }
1254 return (*cache)->QueryInterface(riid, theBaseBar);
1255}
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 2885 of file shellbrowser.cpp.

2886{
2887 return E_NOTIMPL;
2888}

◆ GetBorderDW()

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

Definition at line 1993 of file shellbrowser.cpp.

1994{
1995 static const INT excludeItems[] = { 1, 1, 1, IDC_STATUSBAR, 0, 0 };
1996
1997 RECT availableBounds;
1998
1999 GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems);
2000 for (INT x = 0; x < 3; x++)
2001 {
2002 if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj))
2003 {
2004 availableBounds.top += fClientBars[x].borderSpace.top;
2005 availableBounds.left += fClientBars[x].borderSpace.left;
2006 availableBounds.bottom -= fClientBars[x].borderSpace.bottom;
2007 availableBounds.right -= fClientBars[x].borderSpace.right;
2008 }
2009 }
2010 *prcBorder = availableBounds;
2011 return S_OK;
2012}
#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 2745 of file shellbrowser.cpp.

2746{
2747 return E_NOTIMPL;
2748}

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 3550 of file shellbrowser.cpp.

3551{
3552 return E_NOTIMPL;
3553}

◆ GetControlWindow()

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

Implements IShellBrowser.

Definition at line 2400 of file shellbrowser.cpp.

2401{
2402 if (lphwnd == NULL)
2403 return E_POINTER;
2404 *lphwnd = NULL;
2405 switch (id)
2406 {
2407 case FCW_TOOLBAR:
2408 *lphwnd = fToolbarProxy.m_hWnd;
2409 return S_OK;
2410 case FCW_STATUS:
2411 *lphwnd = fStatusBar;
2412 return S_OK;
2413 case FCW_TREE:
2414 {
2415 BOOL shown;
2416 if (SUCCEEDED(IsControlWindowShown(id, &shown)) && shown)
2417 return IUnknown_GetWindow(fClientBars[BIVerticalBaseBar].clientBar.p, lphwnd);
2418 return S_FALSE;
2419 }
2420 case FCW_PROGRESS:
2421 // is this a progress dialog?
2422 return S_OK;
2423 }
2424 return S_OK;
2425}
CToolbarProxy fToolbarProxy
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:1336
#define E_POINTER
Definition: winerror.h:2365

◆ GetFlags()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetFlags ( DWORD pdwFlags)
override

Implements IBrowserService.

Definition at line 2718 of file shellbrowser.cpp.

2719{
2720 *pdwFlags = m_BrowserSvcFlags;
2721 return S_OK;
2722}

◆ GetFolderSetData()

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

Implements IBrowserService2.

Definition at line 3003 of file shellbrowser.cpp.

3004{
3005 return E_NOTIMPL;
3006}

◆ GetHistoryObject()

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

Implements IBrowserService.

Definition at line 2750 of file shellbrowser.cpp.

2751{
2752 if (ppole == NULL || pstm == NULL || ppbc == NULL)
2753 return E_INVALIDARG;
2754 *ppole = fHistoryObject;
2755 if (fHistoryObject != NULL)
2757 *pstm = fHistoryStream;
2758 if (fHistoryStream != NULL)
2760 *ppbc = fHistoryBindContext;
2766 if (*ppole == NULL)
2767 return E_FAIL;
2768 return S_OK;
2769}
ULONG AddRef()

◆ GetIDsOfNames()

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

Definition at line 2555 of file shellbrowser.cpp.

2557{
2558 return E_NOTIMPL;
2559}

◆ GetMenuBand()

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

Definition at line 1186 of file shellbrowser.cpp.

1187{
1188 CComPtr<IBandSite> bandSite;
1189 CComPtr<IDeskBand> deskBand;
1190 HRESULT hResult;
1191
1192 if (!fClientBars[BIInternetToolbar].clientBar)
1193 return E_FAIL;
1194
1196 if (FAILED_UNEXPECTEDLY(hResult))
1197 return hResult;
1198
1199 hResult = bandSite->QueryBand(1, &deskBand, NULL, NULL, 0);
1200 if (FAILED_UNEXPECTEDLY(hResult))
1201 return hResult;
1202
1203 return deskBand->QueryInterface(riid, shellMenu);
1204}
static const int BIInternetToolbar
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1501
#define SID_IBandSite

Referenced by SetMenuSB(), and WindowProc().

◆ GetNavigateState()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState ( BNSTATE pbnstate)
override

Implements IBrowserService.

Definition at line 2692 of file shellbrowser.cpp.

2693{
2694 return E_NOTIMPL;
2695}

◆ GetOleObject()

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

Implements IBrowserService.

Definition at line 2582 of file shellbrowser.cpp.

2583{
2584 return E_NOTIMPL;
2585}

◆ GetPalette()

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

Implements IBrowserService.

Definition at line 2792 of file shellbrowser.cpp.

2793{
2794 return E_NOTIMPL;
2795}

◆ GetParentSite()

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

Implements IBrowserService.

Definition at line 2567 of file shellbrowser.cpp.

2568{
2569 return E_NOTIMPL;
2570}

◆ GetPidl()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl ( LPITEMIDLIST ppidl)
override

Definition at line 2729 of file shellbrowser.cpp.

2730{
2731 // called by explorer bar to get current pidl
2732 return ppidl ? SHILClone(fCurrentDirectoryPIDL, ppidl) : E_POINTER;
2733}

Referenced by CreateRelativeBrowsePIDL(), and GetPropertyBag().

◆ GetPositionCookie()

HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie ( DWORD pdwPositioncookie)
override

Implements IPersistHistory.

Definition at line 3639 of file shellbrowser.cpp.

3640{
3641 return E_NOTIMPL;
3642}

◆ GetProperty()

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

Definition at line 3316 of file shellbrowser.cpp.

3317{
3318 return E_NOTIMPL;
3319}

◆ GetPropertyBag()

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

Definition at line 2522 of file shellbrowser.cpp.

2523{
2524 if (ppvObject == NULL)
2525 return E_POINTER;
2526
2527 *ppvObject = NULL;
2528
2529 LPITEMIDLIST pidl;
2530 HRESULT hr = GetPidl(&pidl);
2532 return E_FAIL;
2533
2534 // FIXME: pidl for Internet etc.
2535
2536 if (_ILIsNetworkPlace(pidl))
2537 flags |= SHGVSPB_ROAM;
2538
2539 hr = SHGetViewStatePropertyBag(pidl, L"Shell", flags, riid, ppvObject);
2540
2541 ILFree(pidl);
2542 return hr;
2543}
static BOOL _ILIsNetworkPlace(LPCITEMIDLIST pidl)
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
Definition: ordinal.c:5222
_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 2781 of file shellbrowser.cpp.

2782{
2783 return E_NOTIMPL;
2784}

◆ GetTitle()

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

Implements IBrowserService.

Definition at line 2577 of file shellbrowser.cpp.

2578{
2579 return E_NOTIMPL;
2580}

◆ GetTravelLog()

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

Implements IBrowserService.

Definition at line 2587 of file shellbrowser.cpp.

2588{
2589 HRESULT hResult;
2590
2591 // called by toolbar when displaying tooltips
2592 if (pptl == NULL)
2593 return E_FAIL;
2594
2595 *pptl = NULL;
2596 if (fTravelLog.p == NULL)
2597 {
2599 if (FAILED_UNEXPECTEDLY(hResult))
2600 return hResult;
2601 }
2602 *pptl = fTravelLog.p;
2603 fTravelLog.p->AddRef();