ReactOS 0.4.17-dev-243-g1369312
CStartMenuSite Class Reference
Inheritance diagram for CStartMenuSite:
Collaboration diagram for CStartMenuSite:

Public Member Functions

 CStartMenuSite ()
 
virtual ~CStartMenuSite ()
 
STDMETHODIMP QueryService (IN REFGUID guidService, IN REFIID riid, OUT PVOID *ppvObject) override
 
STDMETHODIMP GetWindow (OUT HWND *phwnd) override
 
STDMETHODIMP ContextSensitiveHelp (IN BOOL fEnterMode) override
 
STDMETHODIMP Execute (IN IShellFolder *pShellFolder, IN LPCITEMIDLIST pidl) override
 
STDMETHODIMP Unknown (IN PVOID Unknown1, IN PVOID Unknown2, IN PVOID Unknown3, IN PVOID Unknown4) override
 
virtual BOOL ShowUndockMenuItem (VOID)
 
virtual BOOL ShowSynchronizeMenuItem (VOID)
 
STDMETHODIMP AppendMenu (OUT HMENU *phMenu) override
 
STDMETHODIMP QueryStatus (IN const GUID *pguidCmdGroup OPTIONAL, IN ULONG cCmds, IN OUT OLECMD *prgCmds, IN OUT OLECMDTEXT *pCmdText OPTIONAL) override
 
STDMETHODIMP Exec (IN const GUID *pguidCmdGroup OPTIONAL, IN DWORD nCmdID, IN DWORD nCmdExecOpt, IN VARIANTARG *pvaIn OPTIONAL, IN VARIANTARG *pvaOut OPTIONAL) override
 
STDMETHODIMP SetClient (IUnknown *punkClient) override
 
STDMETHODIMP GetClient (IUnknown **ppunkClient) override
 
STDMETHODIMP OnPosRectChangeDB (RECT *prc) override
 
STDMETHODIMP Popup (POINTL *ppt, RECTL *prcExclude, MP_POPUPFLAGS dwFlags) override
 
STDMETHODIMP OnSelect (DWORD dwSelectType) override
 
STDMETHODIMP SetSubMenu (IMenuPopup *pmp, BOOL fSet) override
 
HRESULT Initialize (IN ITrayWindow *tray)
 
- 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 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 IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from IOleCommandTarget
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)
 
HRESULT Popup ([in] POINTL *ppt, [in] RECTL *prcExclude, [in] MP_POPUPFLAGS dwFlags)
 
HRESULT OnSelect ([in] DWORD dwSelectType)
 
HRESULT SetSubMenu ([in] IMenuPopup *pmp, [in] BOOL fSet)
 
HRESULT SetClient ([in] IUnknown *punkClient)
 
HRESULT GetClient ([out] IUnknown **ppunkClient)
 
HRESULT OnPosRectChangeDB ([in] RECT *prc)
 
- Public Member Functions inherited from IOleWindow
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 

Private Attributes

CComPtr< ITrayWindow > m_Tray
 

Additional Inherited Members

- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- 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 IMenuPopup
enum  tagMENUPOPUPSELECT {
  MPOS_EXECUTE = 0 , MPOS_FULLCANCEL , MPOS_CANCELLEVEL , MPOS_SELECTLEFT ,
  MPOS_SELECTRIGHT , MPOS_CHILDTRACKING
}
 
enum  tagMENUPOPUPPOPUPFLAGS {
  MPPF_SETFOCUS = 0x00000001 , MPPF_INITIALSELECT = 0x00000002 , MPPF_NOANIMATE = 0x00000004 , MPPF_KEYBOARD = 0x00000010 ,
  MPPF_REPOSITION = 0x00000020 , MPPF_FORCEZORDER = 0x00000040 , MPPF_FINALSELECT = 0x00000080 , MPPF_TOP = 0x20000000 ,
  MPPF_LEFT = 0x40000000 , MPPF_RIGHT = 0x60000000 , MPPF_BOTTOM = 0x80000000 , MPPF_POS_MASK = 0xE0000000 ,
  MPPF_ALIGN_LEFT = 0x02000000 , MPPF_ALIGN_RIGHT = 0x04000000
}
 
typedef int MP_POPUPFLAGS
 
- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- Static Public Member Functions inherited from ATL::CComCoClass< CStartMenuSite >
static LPCTSTR WINAPI GetObjectDescription ()
 
- 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 inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Detailed Description

Definition at line 24 of file startmnusite.cpp.

Constructor & Destructor Documentation

◆ CStartMenuSite()

CStartMenuSite::CStartMenuSite ( )
inline

Definition at line 35 of file startmnusite.cpp.

36 {
37 }

◆ ~CStartMenuSite()

virtual CStartMenuSite::~CStartMenuSite ( )
inlinevirtual

Definition at line 39 of file startmnusite.cpp.

39{}

Member Function Documentation

◆ AppendMenu()

STDMETHODIMP CStartMenuSite::AppendMenu ( OUT HMENU phMenu)
inlineoverride

Definition at line 123 of file startmnusite.cpp.

124 {
125 HMENU hMenu, hSettingsMenu;
126 DWORD dwLogoff;
127 BOOL bWantLogoff;
128 UINT uLastItemsCount = 5; /* 5 menu items below the last separator */
129 WCHAR szUser[128];
130
131 TRACE("ITrayPriv::AppendMenu\n");
132
134 *phMenu = hMenu;
135 if (hMenu == NULL)
136 return E_FAIL;
137
138 /* Remove menu items that don't apply */
139
140 /* Favorites */
142 !GetAdvancedBool(L"StartMenuFavorites", FALSE))
143 {
145 }
146
147 /* Documents */
149 !GetAdvancedBool(L"Start_ShowRecentDocs", TRUE))
150 {
152 }
153
154 /* Settings */
155 hSettingsMenu = FindSubMenu(hMenu, IDM_SETTINGS, FALSE);
156
157 /* Control Panel */
160 !GetAdvancedBool(L"Start_ShowControlPanel", TRUE))
161 {
163
164 /* Delete the separator below it */
165 DeleteMenu(hSettingsMenu, 0, MF_BYPOSITION);
166 }
167
168 /* Network Connections */
171 !GetAdvancedBool(L"Start_ShowNetConn", TRUE))
172 {
174 }
175
176 /* Printers and Faxes */
178 !GetAdvancedBool(L"Start_ShowPrinters", TRUE))
179 {
181 }
182
183 /* Security */
185 GetSystemMetrics(SM_REMOTECONTROL) == 0 ||
187 {
188 DeleteMenu(hSettingsMenu, IDM_SECURITY, MF_BYCOMMAND);
189 }
190
191 /* Delete Settings menu if it was empty */
192 if (GetMenuItemCount(hSettingsMenu) == 0)
193 {
195 }
196
197 /* Search */
199 !GetAdvancedBool(L"Start_ShowSearch", TRUE))
200 {
202 }
203
204 /* Help */
206 !GetAdvancedBool(L"Start_ShowHelp", TRUE))
207 {
209 }
210
211 /* Run */
213 !GetAdvancedBool(L"StartMenuRun", TRUE))
214 {
216 }
217
218 /* Synchronize */
220 {
222 uLastItemsCount--;
223 }
224
225 /* Log off */
227 bWantLogoff = (dwLogoff == 2 ||
229 GetAdvancedBool(L"StartMenuLogoff", FALSE));
230 if (dwLogoff != 1 && bWantLogoff)
231 {
232 /* FIXME: We need a more sophisticated way to determine whether to show
233 or hide it, it might be hidden in too many cases!!! */
234
235 /* Update Log Off menu item */
236 if (!GetCurrentLoggedOnUserName(szUser, _countof(szUser)))
237 {
238 szUser[0] = _T('\0');
239 }
240
241 if (!FormatMenuString(hMenu,
244 szUser))
245 {
246 /* We couldn't update the menu item, delete it... */
248 }
249 }
250 else
251 {
253 uLastItemsCount--;
254 }
255
256 /* Disconnect */
258 GetSystemMetrics(SM_REMOTECONTROL) == 0)
259 {
261 uLastItemsCount--;
262 }
263
264 /* Undock computer */
265 if (!ShowUndockMenuItem())
266 {
268 uLastItemsCount--;
269 }
270
271 /* Shut down */
273 {
275 uLastItemsCount--;
276 }
277
278 if (uLastItemsCount == 0)
279 {
280 /* Remove the separator at the end of the menu */
282 }
283
284 return S_OK;
285 }
HMENU FindSubMenu(IN HMENU hMenu, IN UINT uItem, IN BOOL fByPosition)
Definition: util.cpp:55
BOOL FormatMenuString(IN HMENU hMenu, IN UINT uPosition, IN UINT uFlags,...)
Definition: util.cpp:106
BOOL GetAdvancedBool(IN LPCWSTR pszValueName, IN BOOL bDefaultValue)
Definition: util.cpp:156
HMENU LoadPopupMenu(IN HINSTANCE hInstance, IN LPCWSTR lpMenuName)
Definition: util.cpp:33
BOOL GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer, IN DWORD dwBufferSize)
Definition: util.cpp:73
#define IDM_SEARCH
Definition: resource.h:77
#define IDM_FAVORITES
Definition: resource.h:69
#define IDM_UNDOCKCOMPUTER
Definition: resource.h:83
#define IDM_SECURITY
Definition: resource.h:73
#define IDM_SYNCHRONIZE
Definition: resource.h:80
#define IDM_NETWORKCONNECTIONS
Definition: resource.h:74
#define IDM_SHUTDOWN
Definition: resource.h:84
#define IDM_CONTROLPANEL
Definition: resource.h:72
#define IDM_PRINTERSANDFAXES
Definition: resource.h:75
#define IDM_LASTSTARTMENU_SEPARATOR
Definition: resource.h:85
#define IDM_SETTINGS
Definition: resource.h:71
#define IDM_DISCONNECT
Definition: resource.h:82
#define IDM_RUN
Definition: resource.h:79
#define IDM_STARTMENU
Definition: resource.h:62
#define IDM_HELPANDSUPPORT
Definition: resource.h:78
#define IDM_DOCUMENTS
Definition: resource.h:70
#define IDM_LOGOFF
Definition: resource.h:81
virtual BOOL ShowSynchronizeMenuItem(VOID)
virtual BOOL ShowUndockMenuItem(VOID)
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define L(x)
Definition: resources.c:13
HINSTANCE hExplorerInstance
Definition: explorer.cpp:24
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define S_OK
Definition: intsafe.h:52
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
unsigned int UINT
Definition: ndis.h:50
short WCHAR
Definition: pedump.c:58
@ REST_FORCESTARTMENULOGOFF
Definition: shlobj.h:1726
@ REST_NOSETFOLDERS
Definition: shlobj.h:1654
@ REST_NOCONTROLPANEL
Definition: shlobj.h:1715
@ REST_STARTMENULOGOFF
Definition: shlobj.h:1678
@ REST_NONETWORKCONNECTIONS
Definition: shlobj.h:1725
@ REST_NOSECURITY
Definition: shlobj.h:1874
@ REST_NORECENTDOCSMENU
Definition: shlobj.h:1682
@ REST_NORUN
Definition: shlobj.h:1650
@ REST_NOFIND
Definition: shlobj.h:1657
@ REST_NODISCONNECT
Definition: shlobj.h:1873
@ REST_NOSMHELP
Definition: shlobj.h:1747
@ REST_NOCLOSE
Definition: shlobj.h:1651
@ REST_NOFAVORITESMENU
Definition: shlobj.h:1685
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
Definition: shpolicy.c:166
#define _countof(array)
Definition: sndvol32.h:70
#define TRACE(s)
Definition: solgame.cpp:4
#define _T(x)
Definition: vfdio.h:22
#define MF_BYCOMMAND
Definition: winuser.h:202
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define MF_BYPOSITION
Definition: winuser.h:203
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
int WINAPI GetSystemMetrics(_In_ int)

◆ ContextSensitiveHelp()

STDMETHODIMP CStartMenuSite::ContextSensitiveHelp ( IN BOOL  fEnterMode)
inlineoverride

Definition at line 72 of file startmnusite.cpp.

73 {
74 TRACE("ITrayPriv::ContextSensitiveHelp\n");
75 return E_NOTIMPL;
76 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Exec()

STDMETHODIMP CStartMenuSite::Exec ( IN const GUID *pguidCmdGroup  OPTIONAL,
IN DWORD  nCmdID,
IN DWORD  nCmdExecOpt,
IN VARIANTARG *pvaIn  OPTIONAL,
IN VARIANTARG *pvaOut  OPTIONAL 
)
inlineoverride

Definition at line 300 of file startmnusite.cpp.

306 {
307 return E_NOTIMPL;
308 }

◆ Execute()

STDMETHODIMP CStartMenuSite::Execute ( IN IShellFolder pShellFolder,
IN LPCITEMIDLIST  pidl 
)
inlineoverride

Definition at line 79 of file startmnusite.cpp.

82 {
84
85 TRACE("ITrayPriv::Execute\n");
86
87 ret = SHInvokeDefaultCommand(m_Tray->GetHWND(), pShellFolder, pidl);
88
89 return ret;
90 }
CComPtr< ITrayWindow > m_Tray
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
Definition: ordinal.c:3183
return ret
Definition: mutex.c:146
#define S_FALSE
Definition: winerror.h:3451

◆ GetClient()

STDMETHODIMP CStartMenuSite::GetClient ( IUnknown **  ppunkClient)
inlineoverride

Implements IDeskBar.

Definition at line 319 of file startmnusite.cpp.

320 {
321 return E_NOTIMPL;
322 }

◆ GetWindow()

STDMETHODIMP CStartMenuSite::GetWindow ( OUT HWND phwnd)
inlineoverride

Definition at line 60 of file startmnusite.cpp.

61 {
62 TRACE("ITrayPriv::GetWindow\n");
63
64 *phwnd = m_Tray->GetHWND();
65 if (*phwnd != NULL)
66 return S_OK;
67
68 return E_FAIL;
69 }

◆ Initialize()

HRESULT CStartMenuSite::Initialize ( IN ITrayWindow *  tray)
inline

Definition at line 357 of file startmnusite.cpp.

358 {
359 m_Tray = tray;
360 return S_OK;
361 }

◆ OnPosRectChangeDB()

STDMETHODIMP CStartMenuSite::OnPosRectChangeDB ( RECT prc)
inlineoverride

Implements IDeskBar.

Definition at line 325 of file startmnusite.cpp.

326 {
327 return E_NOTIMPL;
328 }

◆ OnSelect()

STDMETHODIMP CStartMenuSite::OnSelect ( DWORD  dwSelectType)
inlineoverride

Implements IMenuPopup.

Definition at line 339 of file startmnusite.cpp.

340 {
341 return E_NOTIMPL;
342 }

◆ Popup()

STDMETHODIMP CStartMenuSite::Popup ( POINTL ppt,
RECTL prcExclude,
MP_POPUPFLAGS  dwFlags 
)
inlineoverride

Implements IMenuPopup.

Definition at line 333 of file startmnusite.cpp.

334 {
335 return E_NOTIMPL;
336 }

◆ QueryService()

STDMETHODIMP CStartMenuSite::QueryService ( IN REFGUID  guidService,
IN REFIID  riid,
OUT PVOID ppvObject 
)
inlineoverride

Definition at line 44 of file startmnusite.cpp.

48 {
49 if (IsEqualGUID(guidService, SID_SMenuPopup))
50 {
51 return QueryInterface(riid, ppvObject);
52 }
53
54 return E_NOINTERFACE;
55 }
REFIID riid
Definition: atlbase.h:39
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ QueryStatus()

STDMETHODIMP CStartMenuSite::QueryStatus ( IN const GUID *pguidCmdGroup  OPTIONAL,
IN ULONG  cCmds,
IN OUT OLECMD prgCmds,
IN OUT OLECMDTEXT *pCmdText  OPTIONAL 
)
inlineoverride

Definition at line 290 of file startmnusite.cpp.

295 {
296 return E_NOTIMPL;
297 }

◆ SetClient()

STDMETHODIMP CStartMenuSite::SetClient ( IUnknown punkClient)
inlineoverride

Implements IDeskBar.

Definition at line 313 of file startmnusite.cpp.

314 {
315 return E_NOTIMPL;
316 }

◆ SetSubMenu()

STDMETHODIMP CStartMenuSite::SetSubMenu ( IMenuPopup pmp,
BOOL  fSet 
)
inlineoverride

Implements IMenuPopup.

Definition at line 345 of file startmnusite.cpp.

346 {
347 if (!fSet)
348 {
350 }
351
352 return S_OK;
353 }
HRESULT Tray_OnStartMenuDismissed(ITrayWindow *Tray)
Definition: traywnd.cpp:3775

◆ ShowSynchronizeMenuItem()

virtual BOOL CStartMenuSite::ShowSynchronizeMenuItem ( VOID  )
inlinevirtual

Definition at line 115 of file startmnusite.cpp.

116 {
117 TRACE("ShowSynchronizeMenuItem() not implemented!\n");
118 /* FIXME: How do we detect this?! */
119 return FALSE;
120 }

Referenced by AppendMenu().

◆ ShowUndockMenuItem()

virtual BOOL CStartMenuSite::ShowUndockMenuItem ( VOID  )
inlinevirtual

Definition at line 103 of file startmnusite.cpp.

104 {
105 BOOL bPresent;
107
108 return bPresent &&
110 SHTestTokenPrivilegeW(NULL, L"SeUndockPrivilege") &&
112 }
CONFIGRET WINAPI CM_Is_Dock_Station_Present(_Out_ PBOOL pbPresent)
Definition: cfgmgr.c:5886
EXTERN_C BOOL WINAPI SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_ LPCWSTR lpName)
Definition: utils.cpp:858
@ REST_NOSMEJECTPC
Definition: shlobj.h:1796
#define SM_REMOTESESSION
Definition: winuser.h:1069

Referenced by AppendMenu().

◆ Unknown()

STDMETHODIMP CStartMenuSite::Unknown ( IN PVOID  Unknown1,
IN PVOID  Unknown2,
IN PVOID  Unknown3,
IN PVOID  Unknown4 
)
inlineoverride

Definition at line 93 of file startmnusite.cpp.

98 {
99 TRACE("ITrayPriv::Unknown(0x%p,0x%p,0x%p,0x%p)\n", Unknown1, Unknown2, Unknown3, Unknown4);
100 return E_NOTIMPL;
101 }
PRTL_UNICODE_STRING_BUFFER PULONG PULONG Unknown4
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
Definition: conport.c:37

Member Data Documentation

◆ m_Tray

CComPtr<ITrayWindow> CStartMenuSite::m_Tray
private

Definition at line 32 of file startmnusite.cpp.

Referenced by Execute(), GetWindow(), Initialize(), and SetSubMenu().


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