34#define FIRST_COMCAT_MENU_ID 0x5
64 DWORD dwRead, dwDataSize;
65 CComPtr<IEnumGUID> pEnumGUID;
91 pEnumGUID->Next(1, &iter, &dwRead);
117 dwDataSize =
sizeof(wszBandName);
142 CComHeapPtr<ITEMIDLIST> pidlSelected;
144 if (pidlSelected ==
NULL)
147 CComPtr<IShellFolderBand> pISFB;
152 hr = pISFB->InitializeSFB(
NULL, pidlSelected);
207 CComPtr<IShellFolderBand> pISFB;
212 hr = pISFB->InitializeSFB(
NULL, pidl);
220 pISFB->SetBandInfoSFB(&bisfb);
223 return pISFB->QueryInterface(
riid,
ppv);
228 CComPtr<IShellFolderBand> psfb;
234 hr = psfb->GetBandInfoSFB(&bi);
238 CComHeapPtr<ITEMIDLIST> pidl(bi.
pidl);
241 ERR(
"Failed to get the pidl of the CISFBand\n");
261 CComPtr<IShellFolderBand> psfb;
267 hr = psfb->GetBandInfoSFB(&bi);
271 CComHeapPtr<ITEMIDLIST> pidl(bi.
pidl);
274 ERR(
"Failed to get the pidl of the CISFBand\n");
278 if (pidl->mkid.cb == 0)
283 CComPtr<IShellFolder> psfDesktop;
289 if (_QLaunchPidl ==
NULL)
292 hr = psfDesktop->CompareIDs(0, pidl, _QLaunchPidl);
304 CComPtr<IPersist> pBand;
325 CComPtr<IPersist> pBand;
350 TRACE(
"CBandSiteMenu::SetOwner(%p, %p)\n",
this, pOwner);
361 CComPtr<IPersist> pBand;
366 TRACE(
"CBandSiteMenu::QueryContextMenu(%p, %p, %u, %u, %u, 0x%x)\n",
this,
hmenu, indexMenu, idCmdFirst, idCmdLast,
uFlags);
392 menuID -= idCmdFirst;
435 CComPtr<IDeskBand> pDeskBand;
463 CComPtr<IDeskBand> pDeskBand;
490 CComPtr<IDeskBand> pDeskBand;
506 FIXME(
"CBandSiteMenu::GetCommandString is UNIMPLEMENTED (%p, %p, %u, %p, %p, %u)\n",
this, idCmd, uType, pwReserved, pszName,
cchMax);
512 FIXME(
"CBandSiteMenu::HandleMenuMsg is UNIMPLEMENTED (%p, %u, %p, %p)\n",
this, uMsg,
wParam,
lParam);
518 FIXME(
"CBandSiteMenu::HandleMenuMsg2 is UNIMPLEMENTED(%p, %u, %p, %p, %p)\n",
this, uMsg,
wParam,
lParam, plResult);
525 return ShellObjectCreator<CBandSiteMenu>(
riid,
ppv);
HRESULT WINAPI RSHELL_CBandSiteMenu_CreateInstance(REFIID riid, void **ppv)
#define FIRST_COMCAT_MENU_ID
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
#define STDMETHODCALLTYPE
#define RegCloseKey(hKey)
EXTERN_C LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
CComHeapPtr< ITEMIDLIST > m_DesktopPidl
STDMETHOD() HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam) override
CSimpleArray< GUID > m_ComCatGuids
HRESULT _AddISFBandToMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, IUnknown *pBand, DWORD dwBandID, UINT *newMenuId)
UINT _GetBandIdFromClsid(CLSID *pclsid)
CComPtr< IBandSite > m_BandSite
HRESULT _CreateMenuPart()
UINT _GetMenuIdFromISFBand(IUnknown *pBand)
STDMETHOD() InvokeCommand(LPCMINVOKECOMMANDINFO lpici) override
HRESULT _ShowToolbarError(HRESULT hRet)
HRESULT WINAPI FinalConstruct()
HRESULT _CreateNewISFBand(HWND hwnd, REFIID riid, void **ppv)
CComHeapPtr< ITEMIDLIST > m_QLaunchPidl
STDMETHOD() SetOwner(IUnknown *) override
LPITEMIDLIST _GetQLaunchPidl(BOOL refresh)
STDMETHOD() GetCommandString(UINT_PTR idCmd, UINT uType, UINT *pwReserved, LPSTR pszName, UINT cchMax) override
STDMETHOD() QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) override
UINT _GetBandIdForBuiltinISFBand(UINT uID)
STDMETHOD() HandleMenuMsg2(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) override
HRESULT _CreateBuiltInISFBand(UINT uID, REFIID riid, void **ppv)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
#define IDM_TASKBAR_TOOLBARS_DESKTOP
#define IDM_TASKBAR_TOOLBARS_NEW
#define IDM_TASKBAR_TOOLBARS
#define IDS_TOOLBAR_ERR_TEXT
#define IDM_TASKBAR_TOOLBARS_QUICKLAUNCH
#define IDS_BROWSEFORNEWTOOLAR
#define IDS_TOOLBAR_ERR_TITLE
#define FAILED_UNEXPECTEDLY(hr)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl)
HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPCWSTR pszSubPath, LPWSTR pszPath)
HRESULT WINAPI SHLoadRegUIStringW(HKEY hkey, LPCWSTR value, LPWSTR buf, DWORD size)
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
#define MAKE_HRESULT(sev, fac, code)
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
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
TCHAR szTitle[MAX_LOADSTRING]
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
unsigned __int3264 UINT_PTR
BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type)
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path)
#define IsEqualGUID(rguid1, rguid2)
#define CISFBand_CreateInstance
#define ISFB_STATE_QLINKSMODE
#define MM_SUBMENUSHAVEIDS
#define MM_DONTREMOVESEPS
ITEMIDLIST UNALIGNED * LPITEMIDLIST
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
DWORD WINAPI GetLastError(void)
#define HRESULT_FROM_WIN32(x)
#define HKEY_CLASSES_ROOT
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define MAKEINTRESOURCEW(i)
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define IID_PPV_ARG(Itype, ppType)