80 static const UINT SIG = (
'R' << 0) | (
'O' << 8) | (
'S' << 16) | ((
'i' ^
't' ^
'b') << 24);
99 hr = ppf->Load(
buf, stgm);
106 HRESULT hr = SHELL_GetAbsolutePidl(psf, pidlChild, &pidl);
128 return psb->
BrowseObject(pidl, SBSP_ABSOLUTE | (BrowseFlags & ~SBSP_RELATIVE));
149 hResult = menuWinEventHandler->IsWindowOwner(
hWnd);
153 return menuWinEventHandler->OnWinEvent(
hWnd, uMsg,
wParam,
lParam, theResult);
163 hResult = dockingWindow->ShowDW(fShow);
185 public IDockingWindowSite,
186 public IInputObjectSite,
303 DBIM_INTEGRAL | DBIM_MAXSIZE | DBIM_MINSIZE;
394 if (
IsEqualIID(*pguidCmdGroup, CGID_DeskBand))
424 if (
IsEqualIID(guidService, SID_SMenuBandParent))
464 *ppsfFavorites =
NULL;
472 WARN(
"Failed to get the USER favorites folder. Trying to run with just the COMMON one.\n");
478 TRACE(
"COMMON favorites obtained.\n");
479 *ppidl = pidlCommonFavorites;
487 WARN(
"Failed to get the COMMON favorites folder. Will use only the USER contents.\n");
488 *ppidl = pidlCommonFavorites;
493 TRACE(
"Both COMMON and USER favorites folders obtained, merging them...\n");
506 *ppsfFavorites = psfUserFavorites.
Detach();
507 *ppidl = pidlUserFavorites;
508 ILFree(pidlCommonFavorites);
512 hr = pasf->AddNameSpace(
NULL, psfUserFavorites, pidlUserFavorites, 0xFF00);
516 hr = pasf->AddNameSpace(
NULL, psfCommonFavorites, pidlCommonFavorites, 0);
525 ILFree(pidlCommonFavorites);
526 ILFree(pidlUserFavorites);
539 HMENU favoritesHMenu;
543 static const TCHAR szFavoritesKey[] =
544 _T(
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MenuOrder\\Favorites");
555 hResult = parentMenu->GetMenu(&parentHMenu, &ownerWindow,
NULL);
559 if (favoritesHMenu ==
NULL)
578 hResult = newMenu->SetShellFolder(favoritesFolder, favoritesPIDL, orderRegKey, SMSET_BOTTOM | SMSET_USEBKICONEXTRACTION | SMSET_HASEXPANDABLEFOLDERS);
588 hResult =
fFavoritesMenu->SetMenu(favoritesHMenu, ownerWindow, SMSET_TOP | SMSET_DONTOWN);
627 case SMC_GETSFOBJECT:
635 case SMC_SFSELECTITEM:
648 case SMC_DEFAULTICON:
652 case SMC_CHEVRONEXPAND:
654 case SMC_DISPLAYCHEVRONTIP:
656 case SMC_SETSFOBJECT:
658 case SMC_SHCHANGENOTIFY:
660 case SMC_CHEVRONGETTIP:
662 case SMC_SFDDRESTRICTED:
702 rbbi.
cbSize =
sizeof(rbbi);
727 RECT availableBorderSpace;
732 hResult = dockingWindowSite->GetBorderDW(
static_cast<IDockingWindow *
>(
this), &availableBorderSpace);
736 if (maxHeight && availableBorderSpace.
bottom - availableBorderSpace.
top > maxHeight)
738 availableBorderSpace.
bottom = availableBorderSpace.
top + maxHeight;
766 hResult = menubar->Initialize(
callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL);
792 hResult = menubar->SetMenu(hMenuBar, ownerWindow, SMSET_DONTOWN);
801 *pMenuBar = menubar.
Detach();
823 rebarBandInfo.
cbSize =
sizeof(rebarBandInfo);
826 for (
INT x = 0;
x < bandCount;
x++)
829 dockSite =
reinterpret_cast<CDockSite *
>(rebarBandInfo.lParam);
830 if (dockSite !=
NULL)
868 commandList[0].
cmdID = 0x1c;
869 commandList[1].
cmdID = 0x1d;
870 commandList[2].
cmdID = 0x1e;
871 commandList[3].
cmdID = 0x23;
1013 ReleaseCComPtrExpectZero(
fMenuBar);
1034 ReleaseCComPtrExpectZero(
fLogoBar);
1044 RECT neededBorderSpace;
1045 RECT availableBorderSpace = *prcBorder;
1052 neededBorderSpace.
left = 0;
1053 neededBorderSpace.
top = availableBorderSpace.
bottom - availableBorderSpace.
top;
1055 neededBorderSpace.
top += 3;
1056 neededBorderSpace.
right = 0;
1057 neededBorderSpace.
bottom = 0;
1065 hResult = dockingWindowSite->RequestBorderSpaceDW(
static_cast<IDockingWindow *
>(
this), &neededBorderSpace);
1069 hResult = dockingWindowSite->SetBorderSpaceDW(
static_cast<IDockingWindow *
>(
this), &neededBorderSpace);
1078 if (pClassID ==
NULL)
1080 *pClassID = CLSID_InternetToolbar;
1225 if (
IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
1229 switch (prgCmds->
cmdID)
1278 if (
IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands))
1328 switch(dispIdMember)
1337 if (pDispParams->cArgs != 2)
1342 V_I4(&pDispParams->rgvarg[1]));
1386 reinterpret_cast<WPARAM>(param10),
reinterpret_cast<LPARAM>(param14));
1400 if (theState ==
NULL)
1464 if (pUnkSite ==
NULL)
1477 if (ownerWindow ==
NULL)
1487 if (dockContainer ==
NULL)
1497 0, 0, 700, 60, dockContainer,
NULL, _AtlBaseModule.GetModuleInstance(),
NULL);
1510 if (ppvSite ==
NULL)
1513 return fSite->QueryInterface(
riid, ppvSite);
1641 hResult = webBrowser->GoBack();
1653 hResult = webBrowser->GoForward();
1703 wchar_t templateString[200];
1714 switch (notifyInfo->
iItem)
1719 hResult = browserService->GetTravelLog(&travelLog);
1720 hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9,
TLMENUF_BACK);
1721 commandInfo.
cmdID = 0x1d;
1724 travelLog->CountEntries(browserService) > 1)
1728 if (
LoadStringW(_AtlBaseModule.GetResourceInstance(),
1729 IDS_HISTORYTEXT, templateString,
sizeof(templateString) /
sizeof(
wchar_t)) == 0)
1730 StringCbCopyW(templateString,
sizeof(templateString),
L"&History\tCtrl+H");
1735 params.rcExclude = bounds;
1742 Exec(&CGID_Explorer, 0x1d, 2, &parmIn,
NULL);
1744 else if (selectedItem != 0)
1745 hResult = travelLog->Travel(browserService, -selectedItem);
1751 hResult = browserService->GetTravelLog(&travelLog);
1752 hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9,
TLMENUF_FORE);
1753 commandInfo.
cmdID = 0x1d;
1756 travelLog->CountEntries(browserService) > 1)
1760 if (
LoadStringW(_AtlBaseModule.GetResourceInstance(),
1761 IDS_HISTORYTEXT, templateString,
sizeof(templateString) /
sizeof(
wchar_t)) == 0)
1762 StringCbCopyW(templateString,
sizeof(templateString),
L"&History\tCtrl+H");
1767 params.rcExclude = bounds;
1774 Exec(&CGID_Explorer, 0x1d, 2, &parmIn,
NULL);
1776 else if (selectedItem != 0)
1777 hResult = travelLog->Travel(browserService, selectedItem);
1786 V_INTREF(&inValue) =
reinterpret_cast<INT *
>(&bounds);
1808 HMENU contextMenuBar;
1810 POINT clickLocation;
1819 hitTestInfo.
pt = clickLocation;
1822 if (hitTestInfo.
iBand == -1)
1825 rebarBandInfo.
cbSize =
sizeof(rebarBandInfo);
1828 bandID = rebarBandInfo.
wID;
1868 clickLocation.
x, clickLocation.
y, 0, m_hWnd,
NULL);
1922 wchar_t tempString[300];
1936 hResult = browserService->GetTravelLog(&travelLog);
1937 hResult = travelLog->GetToolTipText(browserService,
1939 0, tempString, 299);
1948 wcsncpy (pTTTW->szText, tempString,
sizeof(pTTTW->szText) /
sizeof(
wchar_t));
1963 bHandled = hResult ==
S_OK;
1969 NMHDR *notifyHeader;
1977 bHandled = hResult ==
S_OK;
2057 hr = menuWinEventHandler->OnWinEvent(hwndMenu, uMsg,
wParam,
lParam, &lres);
2083 wsprintfW(
path,
L"Software\\Microsoft\\Internet Explorer\\Toolbar\\%s", subkey);
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
#define IID_PPV_ARG(Itype, ppType)
#define STDMETHODCALLTYPE
HRESULT CAddressBand_CreateInstance(REFIID riid, void **ppv)
HRESULT CBrandBand_CreateInstance(REFIID riid, void **ppv)
HRESULT CBandProxy_CreateInstance(REFIID riid, void **ppv)
HRESULT CToolsBand_CreateInstance(REFIID riid, void **ppv)
static BOOL IsGoButtonVisible(IUnknown *pUnkBand)
CInternetToolbar * fToolbar
CComPtr< IUnknown > fContainedBand
STDMETHOD() QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
STDMETHOD() GetBorderDW(IUnknown *punkObj, LPRECT prcBorder) override
HRESULT GetRBBandInfo(REBARBANDINFOW &bandInfo)
STDMETHOD() ContextSensitiveHelp(BOOL fEnterMode) override
STDMETHOD() OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus) override
STDMETHOD() GetWindow(HWND *lphwnd) override
STDMETHOD() SetBorderSpaceDW(IUnknown *punkObj, LPCBORDERWIDTHS pbw) override
IUnknown * GetContainedBand() const
HRESULT Initialize(IUnknown *containedBand, CInternetToolbar *browser, HWND hwnd, int bandID, int flags)
DESKBANDINFO fDeskBandInfo
STDMETHOD() Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
STDMETHOD() RequestBorderSpaceDW(IUnknown *punkObj, LPCBORDERWIDTHS pbw) override
STDMETHOD() QueryService(REFGUID guidService, REFIID riid, void **ppvObject) override
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
#define IDM_TOOLBARS_LOCKTOOLBARS
#define IDM_GOTO_UPONELEVEL
#define IDM_TOOLBARS_TEXTLABELS
#define IDM_TOOLBARS_STANDARDBUTTONS
#define IDM_NOTIFYITBARDIRTY
#define IDM_EXPLORERBAR_HISTORY
#define IDM_CABINET_CONTEXTMENU
#define IDM_TOOLBARS_GOBUTTON
#define IDM_FAVORITES_EMPTY
#define IDM_TOOLBARS_CUSTOMIZE
#define IDM_TOOLBARS_ADDRESSBAR
#define IDM_TOOLBARS_LINKSBAR
#define BWM_GETSETTINGSPTR
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
#define ERROR_NO_MORE_ITEMS
HRESULT WINAPI IUnknown_QueryService(IUnknown *obj, REFGUID sid, REFIID iid, void **out)
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, const WCHAR *subkey, const WCHAR *value, DWORD mode)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown *lpUnknown)
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
#define FAILED_UNEXPECTEDLY
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
#define DISPID_NAVIGATECOMPLETE2
#define DISPID_BEFORENAVIGATE
#define DISPID_COMMANDSTATECHANGE
#define DISPID_DOWNLOADCOMPLETE
#define DISPID_DOWNLOADBEGIN
#define DISPID_DOCUMENTCOMPLETE
GLint GLint GLint GLint GLint x
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum const GLfloat * params
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct IOleCommandTarget::_tagOLECMDTEXT OLECMDTEXT
struct IOleCommandTarget::_tagOLECMD OLECMD
HRESULT Write([in, size_is(cb)] const void *pv, [in] ULONG cb, [out] ULONG *pcbWritten)
HRESULT Read([out, size_is(cb), length_is(*pcbRead)] void *pv, [in] ULONG cb, [out] ULONG *pcbRead)
HRESULT BrowseObject([in] PCUIDLIST_RELATIVE pidl, [in] UINT wFlags)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
nsresult QueryInterface(nsIIDRef riid, void **result)
static const struct bandInfoStruct bandInfo[9]
#define COM_INTERFACE_ENTRY_IID(iid, x)
static IPrintDialogCallback callback
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static VARIANTARG static DISPID
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define MAKEINTRESOURCE(i)
const GUID IID_IOleWindow
void WINAPI ILFree(LPITEMIDLIST pidl)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
struct tagREBARBANDINFOW REBARBANDINFOW
#define CCS_NOPARENTALIGN
#define RBBS_GRIPPERALWAYS
#define RBBS_VARIABLEHEIGHT
#define IsEqualIID(riid1, riid2)
HWND WINAPI SetCapture(_In_ HWND hWnd)
HMENU WINAPI CreatePopupMenu(void)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI ReleaseCapture(void)
DWORD WINAPI GetMessagePos(void)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WS_EX_RIGHTSCROLLBAR
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define SWP_NOOWNERZORDER
int WINAPI GetDlgCtrlID(_In_ HWND)
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
BOOL WINAPI DestroyWindow(_In_ HWND)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI AppendMenuW(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
static __inline const char * wine_dbgstr_guid(const GUID *id)
static SFGAOF SHELL_GetAttributesOf(IShellFolder *psf, LPCITEMIDLIST pidlChild, SFGAOF query)
#define SID_SShellBrowser
#define SID_IShellBrowser
#define CSIDL_COMMON_FAVORITES
#define FCIDM_MENU_FAVORITES
#define FCIDM_SHVIEW_AUTOARRANGE
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
#define ITID_LINKSBANDSHOWN
#define ITID_TOOLBARBANDSHOWN
#define ITBBID_ADDRESSBAND
#define ITID_AUTOHIDEENABLED
#define ITID_MENUBANDSHOWN
#define ITID_CUSTOMIZEENABLED
#define ITID_ADDRESSBANDSHOWN
#define ITID_TOOLBARLOCKED
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
#define SubclassWindow(hwnd, lpfn)
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define ERROR_DIR_NOT_ROOT
#define HKEY_CURRENT_USER