ReactOS  0.4.14-dev-115-g4576127
shlobj_undoc.h
Go to the documentation of this file.
1 /*
2  * ReactOS undocumented shell interface
3  *
4  * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
5  * Copyright 2013 Dominik Hornung
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  */
21 
22 #ifndef __SHLOBJ_UNDOC__H
23 #define __SHLOBJ_UNDOC__H
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* defined(__cplusplus) */
28 
29 /*****************************************************************************
30  * New shellstate structure
31  */
33 {
35  long newState1;
36  long newState2;
37 };
38 
39 /*****************************************************************************
40  * Header for persisted view state in cabinet windows
41  */
43 {
44  long dwSize;
45  long browseType;
46  long alwaysZero;
50 };
51 
52 /*****************************************************************************
53  * IInitializeObject interface
54  */
55 #undef INTERFACE
56 #define INTERFACE IInitializeObject
57 
58 DECLARE_INTERFACE_(IInitializeObject, IUnknown)//, "4622AD16-FF23-11d0-8D34-00A0C90F2719")
59 {
63 
65 };
66 #undef INTERFACE
67 #if !defined(__cplusplus) || defined(CINTERFACE)
68 #define IInitializeObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
69 #define IInitializeObject_AddRef(T) (T)->lpVtbl->AddRef(T)
70 #define IInitializeObject_Release(T) (T)->lpVtbl->Release(T)
71 #define IInitializeObject_Initialize(T) (T)->lpVtbl->Initialize(T)
72 #endif
73 
74 
75 /*****************************************************************************
76  * IBanneredBar interface
77  */
78 enum
79 {
82 };
83 #define INTERFACE IBanneredBar
84 DECLARE_INTERFACE_(IBanneredBar, IUnknown)//, "596A9A94-013E-11d1-8D34-00A0C90F2719")
85 {
89 
90  STDMETHOD(SetIconSize)(THIS_ DWORD iIcon) PURE;
91  STDMETHOD(GetIconSize)(THIS_ DWORD* piIcon) PURE;
93  STDMETHOD(GetBitmap)(THIS_ HBITMAP* phBitmap) PURE;
94 
95 };
96 #undef INTERFACE
97 
98 #if !defined(__cplusplus) || defined(CINTERFACE)
99 #define IBanneredBar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
100 #define IBanneredBar_AddRef(T) (T)->lpVtbl->AddRef(T)
101 #define IBanneredBar_Release(T) (T)->lpVtbl->Release(T)
102 #define IBanneredBar_SetIconSize(T,a) (T)->lpVtbl->SetIconSize(T,a)
103 #define IBanneredBar_GetIconSize(T,a) (T)->lpVtbl->GetIconSize(T,a)
104 #define IBanneredBar_SetBitmap(T,a) (T)->lpVtbl->SetBitmap(T,a)
105 #define IBanneredBar_GetBitmap(T,a) (T)->lpVtbl->GetBitmap(T,a)
106 #endif
107 
108 /*****************************************************************************
109  * IGlobalFolderSettings interface
110  */
112 {
113  long offset0;
114 };
115 
116 #undef INTERFACE
117 #define INTERFACE IGlobalFolderSettings
118 DECLARE_INTERFACE_(IGlobalFolderSettings, IUnknown)
119 {
120  /*** IUnknown ***/
124  /*** IGlobalFolderSettings ***/
125  STDMETHOD(Get)(THIS_ struct DEFFOLDERSETTINGS *buffer, int theSize) PURE;
126  STDMETHOD(Set)(THIS_ const struct DEFFOLDERSETTINGS *buffer, int theSize, unsigned int param14) PURE;
127 };
128 #undef INTERFACE
129 
130 /*****************************************************************************
131  * IStartMenuCallback interface
132  */
133 #define INTERFACE IStartMenuCallback
134 DECLARE_INTERFACE_(IStartMenuCallback, IOleWindow)
135 {
136  /*** IUnknown ***/
140  /*** IOleWindow methods ***/
142  STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
143  /*** IStartMenuCallback ***/
147 };
148 #undef INTERFACE
149 
150 #ifdef COBJMACROS
151 #define IStartMenuCallback_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
152 #define IStartMenuCallback_AddRef(T) (T)->lpVtbl->AddRef(T)
153 #define IStartMenuCallback_Release(T) (T)->lpVtbl->Release(T)
154 #define IStartMenuCallback_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
155 #define IStartMenuCallback_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
156 #define IStartMenuCallback_Execute(T,a,b) (T)->lpVtbl->Execute(T,a,b)
157 #define IStartMenuCallback_Unknown(T,a,b,c,d) (T)->lpVtbl->Unknown(T,a,b,c,d)
158 #define IStartMenuCallback_AppendMenu(T,a) (T)->lpVtbl->AppendMenu(T,a)
159 #endif
160 
161 /*****************************************************************************
162  * IBandSiteStreamCallback interface
163  */
164 #define INTERFACE IBandSiteStreamCallback
165 DECLARE_INTERFACE_(IBandSiteStreamCallback, IUnknown)
166 {
167  /*** IUnknown ***/
171  /*** IBandSiteStreamCallback ***/
172  STDMETHOD_(HRESULT,OnLoad)(THIS_ IStream *pStm, REFIID riid, PVOID *pvObj) PURE;
173  STDMETHOD_(HRESULT,OnSave)(THIS_ IUnknown *pUnk, IStream *pStm) PURE;
174 };
175 #undef INTERFACE
176 
177 #ifdef COBJMACROS
178 #define IBandSiteStreamCallback_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
179 #define IBandSiteStreamCallback_AddRef(T) (T)->lpVtbl->AddRef(T)
180 #define IBandSiteStreamCallback_Release(T) (T)->lpVtbl->Release(T)
181 #define IBandSiteStreamCallback_OnLoad(T,a,b,c) (T)->lpVtbl->OnLoad(T,a,b,c)
182 #define IBandSiteStreamCallback_OnSave(T,a,b) (T)->lpVtbl->OnSave(T,a,b)
183 #endif
184 
185 /*****************************************************************************
186  * IShellDesktopTray interface
187  */
188 #define INTERFACE IShellDesktopTray
189 DECLARE_INTERFACE_(IShellDesktopTray, IUnknown)
190 {
191  /*** IUnknown ***/
195  /*** IShellDesktopTray ***/
196  STDMETHOD_(ULONG,GetState)(THIS) PURE;
197  STDMETHOD(GetTrayWindow)(THIS_ HWND*) PURE;
198  STDMETHOD(RegisterDesktopWindow)(THIS_ HWND) PURE;
200 };
201 #undef INTERFACE
202 
203 #ifdef COBJMACROS
204 #define IShellDesktopTray_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
205 #define IShellDesktopTray_AddRef(T) (T)->lpVtbl->AddRef(T)
206 #define IShellDesktopTray_Release(T) (T)->lpVtbl->Release(T)
207 #define IShellDesktopTray_GetState(T) (T)->lpVtbl->GetState(T)
208 #define IShellDesktopTray_GetTrayWindow(T,a) (T)->lpVtbl->GetTrayWindow(T,a)
209 #define IShellDesktopTray_RegisterDesktopWindow(T,a) (T)->lpVtbl->RegisterDesktopWindow(T,a)
210 #define IShellDesktopTray_Unknown(T,a,b) (T)->lpVtbl->Unknown(T,a,b)
211 #endif
212 
213 /*****************************************************************************
214  * INscTree interface
215  */
216 #define INTERFACE INscTree
218 {
219  /*** IUnknown ***/
223  /*** INscTree ***/
224  STDMETHOD(CreateTree)(THIS_ long paramC, long param10, long param14) PURE;
225  STDMETHOD(Initialize)(THIS_ long paramC, long param10, long param14) PURE;
226  STDMETHOD(ShowWindow)(THIS_ long paramC) PURE;
228  STDMETHOD(GetSelectedItem)(THIS_ long paramC, long param10) PURE;
229  STDMETHOD(SetSelectedItem)(THIS_ long paramC, long param10, long param14, long param18) PURE;
230  STDMETHOD(GetNscMode)(THIS_ long paramC) PURE;
231  STDMETHOD(SetNscMode)(THIS_ long paramC) PURE;
232  STDMETHOD(GetSelectedItemName)(THIS_ long paramC, long param10) PURE;
233  STDMETHOD(BindToSelectedItemParent)(THIS_ long paramC, long param10, long param14) PURE;
234  STDMETHOD(InLabelEdit)(THIS) PURE;
235  STDMETHOD(RightPaneNavigationStarted)(THIS_ long paramC) PURE;
236  STDMETHOD(RightPaneNavigationFinished)(THIS_ long paramC) PURE;
237 };
238 #undef INTERFACE
239 
240 #ifdef COBJMACROS
241 #define INscTree_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
242 #define INscTree_AddRef(T) (T)->lpVtbl->AddRef(T)
243 #define INscTree_Release(T) (T)->lpVtbl->Release(T)
244 #define INscTree_CreateTree(T,a,b,c) (T)->lpVtbl->CreateTree(T,a,b,c)
245 #define INscTree_Initialize(T,a,b,c) (T)->lpVtbl->Initialize(T,a,b,c)
246 #define INscTree_ShowWindow(T,a) (T)->lpVtbl->ShowWindow(T,a)
247 #define INscTree_Refresh(T) (T)->lpVtbl->Refresh(T)
248 #define INscTree_GetSelectedItem(T,a,b) (T)->lpVtbl->GetSelectedItem(T,a,b)
249 #define INscTree_SetSelectedItem(T,a,b,c,d) (T)->lpVtbl->SetSelectedItem(T,a,b,c,d)
250 #define INscTree_GetNscMode(T,a) (T)->lpVtbl->GetNscMode(T,a)
251 #define INscTree_SetNscMode(T,a) (T)->lpVtbl->SetNscMode(T,a)
252 #define INscTree_GetSelectedItemName(T,a,b) (T)->lpVtbl->GetSelectedItemName(T,a,b)
253 #define INscTree_BindToSelectedItemParent(T,a,b,c) (T)->lpVtbl->BindToSelectedItemParent(T,a,b,c)
254 #define INscTree_InLabelEdit(T) (T)->lpVtbl->InLabelEdit(T)
255 #define INscTree_RightPaneNavigationStarted(T,a) (T)->lpVtbl->RightPaneNavigationStarted(T,a)
256 #define INscTree_RightPaneNavigationFinished(T,a) (T)->lpVtbl->RightPaneNavigationFinished(T,a)
257 #endif
258 
259 /*****************************************************************************
260  * INscTree2 interface
261  */
262 #define INTERFACE INscTree2
263 DECLARE_INTERFACE_(INscTree2, INscTree)
264 {
265  /*** IUnknown ***/
269  /*** INscTree ***/
270  STDMETHOD(CreateTree)(THIS_ long paramC, long param10, long param14) PURE;
271  STDMETHOD(Initialize)(THIS_ long paramC, long param10, long param14) PURE;
272  STDMETHOD(ShowWindow)(THIS_ long paramC) PURE;
274  STDMETHOD(GetSelectedItem)(THIS_ long paramC, long param10) PURE;
275  STDMETHOD(SetSelectedItem)(THIS_ long paramC, long param10, long param14, long param18) PURE;
276  STDMETHOD(GetNscMode)(THIS_ long paramC) PURE;
277  STDMETHOD(SetNscMode)(THIS_ long paramC) PURE;
278  STDMETHOD(GetSelectedItemName)(THIS_ long paramC, long param10) PURE;
279  STDMETHOD(BindToSelectedItemParent)(THIS_ long paramC, long param10, long param14) PURE;
280  STDMETHOD(InLabelEdit)(THIS) PURE;
281  STDMETHOD(RightPaneNavigationStarted)(THIS_ long paramC) PURE;
282  STDMETHOD(RightPaneNavigationFinished)(THIS_ long paramC) PURE;
283  /*** INscTree2 ***/
284  STDMETHOD(CreateTree2)(THIS_ long paramC, long param10, long param14, long param18) PURE;
285 };
286 #undef INTERFACE
287 
288 #ifdef COBJMACROS
289 #define INscTree2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
290 #define INscTree2_AddRef(T) (T)->lpVtbl->AddRef(T)
291 #define INscTree2_Release(T) (T)->lpVtbl->Release(T)
292 #define INscTree2_CreateTree(T,a,b,c) (T)->lpVtbl->CreateTree(T,a,b,c)
293 #define INscTree2_Initialize(T,a,b,c) (T)->lpVtbl->Initialize(T,a,b,c)
294 #define INscTree2_ShowWindow(T,a) (T)->lpVtbl->ShowWindow(T,a)
295 #define INscTree2_Refresh(T) (T)->lpVtbl->Refresh(T)
296 #define INscTree2_GetSelectedItem(T,a,b) (T)->lpVtbl->GetSelectedItem(T,a,b)
297 #define INscTree2_SetSelectedItem(T,a,b,c,d) (T)->lpVtbl->SetSelectedItem(T,a,b,c,d)
298 #define INscTree2_GetNscMode(T,a) (T)->lpVtbl->GetNscMode(T,a)
299 #define INscTree2_SetNscMode(T,a) (T)->lpVtbl->SetNscMode(T,a)
300 #define INscTree2_GetSelectedItemName(T,a,b) (T)->lpVtbl->GetSelectedItemName(T,a,b)
301 #define INscTree2_BindToSelectedItemParent(T,a,b,c) (T)->lpVtbl->BindToSelectedItemParent(T,a,b,c)
302 #define INscTree2_InLabelEdit(T) (T)->lpVtbl->InLabelEdit(T)
303 #define INscTree2_RightPaneNavigationStarted(T,a) (T)->lpVtbl->RightPaneNavigationStarted(T,a)
304 #define INscTree2_RightPaneNavigationFinished(T,a) (T)->lpVtbl->RightPaneNavigationFinished(T,a)
305 #define INscTree2_CreateTree2(T,a,b,c,d) (T)->lpVtbl->CreateTree2(T,a,b,c,d)
306 #endif
307 
308 /*****************************************************************************
309  * IAddressEditBox interface
310  */
311 #define INTERFACE IAddressEditBox
312 DECLARE_INTERFACE_(IAddressEditBox, IUnknown)
313 {
314  /*** IUnknown ***/
318  /*** IAddressEditBox ***/
319  STDMETHOD(Init)(THIS_ HWND comboboxEx, HWND editControl, long param14, IUnknown *param18) PURE;
320  STDMETHOD(SetCurrentDir)(THIS_ long paramC) PURE;
321  STDMETHOD(ParseNow)(THIS_ long paramC) PURE;
322  STDMETHOD(Execute)(THIS_ long paramC) PURE;
323  STDMETHOD(Save)(THIS_ long paramC) PURE;
324 };
325 #undef INTERFACE
326 
327 #ifdef COBJMACROS
328 #define IAddressEditBox_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
329 #define IAddressEditBox_AddRef(T) (T)->lpVtbl->AddRef(T)
330 #define IAddressEditBox_Release(T) (T)->lpVtbl->Release(T)
331 #define IAddressEditBox_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
332 #define IAddressEditBox_SetCurrentDir(T,a) (T)->lpVtbl->SetCurrentDir(T,a)
333 #define IAddressEditBox_ParseNow(T,a) (T)->lpVtbl->ParseNow(T,a)
334 #define IAddressEditBox_Execute(T,a) (T)->lpVtbl->Execute(T,a)
335 #define IAddressEditBox_Save(T,a) (T)->lpVtbl->Save(T,a)
336 #endif
337 
338 /*****************************************************************************
339  * IBandProxy interface
340  */
341 #define INTERFACE IBandProxy
343 {
344  /*** IUnknown ***/
348  /*** IBandProxy ***/
349  STDMETHOD(SetSite)(THIS_ IUnknown *paramC) PURE;
350  STDMETHOD(CreateNewWindow)(THIS_ long paramC) PURE;
351  STDMETHOD(GetBrowserWindow)(THIS_ IUnknown **paramC) PURE;
352  STDMETHOD(IsConnected)(THIS) PURE;
353  STDMETHOD(NavigateToPIDL)(THIS_ LPCITEMIDLIST pidl) PURE;
354  STDMETHOD(NavigateToURL)(THIS_ long paramC, long param10) PURE;
355 };
356 #undef INTERFACE
357 
358 #ifdef COBJMACROS
359 #define IBandProxy_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
360 #define IBandProxy_AddRef(T) (T)->lpVtbl->AddRef(T)
361 #define IBandProxy_Release(T) (T)->lpVtbl->Release(T)
362 #define IBandProxy_SetSite(T,a) (T)->lpVtbl->SetSite(T,a)
363 #define IBandProxy_CreateNewWindow(T,a) (T)->lpVtbl->CreateNewWindow(T,a)
364 #define IBandProxy_GetBrowserWindow(T,a) (T)->lpVtbl->GetBrowserWindow(T,a)
365 #define IBandProxy_IsConnected(T) (T)->lpVtbl->IsConnected(T)
366 #define IBandProxy_NavigateToPIDL(T,a) (T)->lpVtbl->NavigateToPIDL(T,a)
367 #define IBandProxy_NavigateToURL(T,a,b) (T)->lpVtbl->NavigateToURL(T,a,b)
368 #endif
369 
370 /*****************************************************************************
371  * IExplorerToolbar interface
372  */
373 #define INTERFACE IExplorerToolbar
374 DECLARE_INTERFACE_(IExplorerToolbar, IUnknown)
375 {
376  /*** IUnknown ***/
380  /*** IExplorerToolbar ***/
381  STDMETHOD(SetCommandTarget)(THIS_ IUnknown *theTarget, GUID *category, long param14) PURE;
382  STDMETHOD(Unknown1)(THIS) PURE;
383  STDMETHOD(AddButtons)(THIS_ const GUID *pguidCmdGroup, long buttonCount, TBBUTTON *buttons) PURE;
384  STDMETHOD(AddString)(THIS_ const GUID *pguidCmdGroup, HINSTANCE param10, LPCTSTR param14, long *param18) PURE;
385  STDMETHOD(GetButton)(THIS_ const GUID *paramC, long param10, long param14) PURE;
386  STDMETHOD(GetState)(THIS_ const GUID *pguidCmdGroup, long commandID, long *theState) PURE;
387  STDMETHOD(SetState)(THIS_ const GUID *pguidCmdGroup, long commandID, long theState) PURE;
388  STDMETHOD(AddBitmap)(THIS_ const GUID *pguidCmdGroup, long param10, long buttonCount, TBADDBITMAP *lParam, long *newIndex, COLORREF param20) PURE;
389  STDMETHOD(GetBitmapSize)(THIS_ long *paramC) PURE;
390  STDMETHOD(SendToolbarMsg)(THIS_ const GUID *pguidCmdGroup, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *result) PURE;
391  STDMETHOD(SetImageList)(THIS_ const GUID *pguidCmdGroup, HIMAGELIST param10, HIMAGELIST param14, HIMAGELIST param18) PURE;
392  STDMETHOD(ModifyButton)(THIS_ const GUID *paramC, long param10, long param14) PURE;
393 };
394 #undef INTERFACE
395 
396 #ifdef COBJMACROS
397 #define IExplorerToolbar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
398 #define IExplorerToolbar_AddRef(T) (T)->lpVtbl->AddRef(T)
399 #define IExplorerToolbar_Release(T) (T)->lpVtbl->Release(T)
400 #define IExplorerToolbar_SetCommandTarget(T,a,b,c) (T)->lpVtbl->SetCommandTarget(T,a,b,c)
401 #define IExplorerToolbar_Unknown1(T) (T)->lpVtbl->Unknown1(T)
402 #define IExplorerToolbar_AddButtons(T,a,b,c) (T)->lpVtbl->AddButtons(T,a,b,c)
403 #define IExplorerToolbar_AddString(T,a,b,c,d) (T)->lpVtbl->AddString(T,a,b,c,d)
404 #define IExplorerToolbar_GetButton(T,a,b,c) (T)->lpVtbl->GetButton(T,a,b,c)
405 #define IExplorerToolbar_GetState(T,a,b,c) (T)->lpVtbl->GetState(T,a,b,c)
406 #define IExplorerToolbar_SetState(T,a,b,c) (T)->lpVtbl->SetState(T,a,b,c)
407 #define IExplorerToolbar_AddBitmap(T,a,b,c,d,e,f) (T)->lpVtbl->AddBitmap(T,a,b,c,d,e,f)
408 #define IExplorerToolbar_GetBitmapSize(T,a) (T)->lpVtbl->GetBitmapSize(T,a)
409 #define IExplorerToolbar_SendToolbarMsg(T,a,b,c,d,e) (T)->lpVtbl->SendToolbarMsg(T,a,b,c,d,e)
410 #define IExplorerToolbar_SetImageList(T,a,b,c,d) (T)->lpVtbl->SetImageList(T,a,b,c,d)
411 #define IExplorerToolbar_ModifyButton(T,a,b,c) (T)->lpVtbl->ModifyButton(T,a,b,c)
412 #endif
413 
414 /*****************************************************************************
415  * IRegTreeOptions interface
416  */
417 typedef enum tagWALK_TREE_CMD
418 {
423 } WALK_TREE_CMD;
424 
425 #define INTERFACE IRegTreeOptions
426 DECLARE_INTERFACE_(IRegTreeOptions, IUnknown)
427 {
428  /*** IUnknown ***/
432  /*** IRegTreeOptions ***/
433  STDMETHOD(InitTree)(THIS_ HWND paramC, HKEY param10, char const *param14, char const *param18) PURE;
434  STDMETHOD(WalkTree)(THIS_ WALK_TREE_CMD paramC) PURE;
435  STDMETHOD(ToggleItem)(THIS_ HTREEITEM paramC) PURE;
436  STDMETHOD(ShowHelp)(THIS_ HTREEITEM paramC, unsigned long param10) PURE;
437 };
438 #undef INTERFACE
439 
440 #ifdef COBJMACROS
441 #define IRegTreeOptions_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
442 #define IRegTreeOptions_AddRef(T) (T)->lpVtbl->AddRef(T)
443 #define IRegTreeOptions_Release(T) (T)->lpVtbl->Release(T)
444 #define IRegTreeOptions_InitTree(T,a,b,c,d) (T)->lpVtbl->InitTree(T,a,b,c,d)
445 #define IRegTreeOptions_WalkTree(T,a) (T)->lpVtbl->WalkTree(T,a)
446 #define IRegTreeOptions_ToggleItem(T,a) (T)->lpVtbl->ToggleItem(T,a)
447 #define IRegTreeOptions_ShowHelp(T,a,b) (T)->lpVtbl->ShowHelp(T,a,b)
448 #endif
449 
450 /*****************************************************************************
451  * IBandNavigate interface
452  */
453 #define INTERFACE IBandNavigate
455 {
456  /*** IUnknown ***/
460  /*** IBandNavigate ***/
461  STDMETHOD(Select)(THIS_ long paramC) PURE;
462 };
463 #undef INTERFACE
464 
465 #ifdef COBJMACROS
466 #define IBandNavigate_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
467 #define IBandNavigate_AddRef(T) (T)->lpVtbl->AddRef(T)
468 #define IBandNavigate_Release(T) (T)->lpVtbl->Release(T)
469 #define IBandNavigate_Select(T,a) (T)->lpVtbl->Select(T,a)
470 #endif
471 
472 /*****************************************************************************
473  * INamespaceProxy interface
474  */
475 #define INTERFACE INamespaceProxy
476 DECLARE_INTERFACE_(INamespaceProxy, IUnknown)
477 {
478  /*** IUnknown ***/
482  /*** INamespaceProxy ***/
483  STDMETHOD(GetNavigateTarget)(THIS_ long paramC, long param10, long param14) PURE;
484  STDMETHOD(Invoke)(THIS_ long paramC) PURE;
485  STDMETHOD(OnSelectionChanged)(THIS_ long paramC) PURE;
486  STDMETHOD(RefreshFlags)(THIS_ long paramC, long param10, long param14) PURE;
487  STDMETHOD(CacheItem)(THIS_ long paramC) PURE;
488 };
489 #undef INTERFACE
490 
491 #ifdef COBJMACROS
492 #define INamespaceProxy_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
493 #define INamespaceProxy_AddRef(T) (T)->lpVtbl->AddRef(T)
494 #define INamespaceProxy_Release(T) (T)->lpVtbl->Release(T)
495 #define INamespaceProxy_GetNavigateTarget(T,a,b,c) (T)->lpVtbl->GetNavigateTarget(T,a,b,c)
496 #define INamespaceProxy_Invoke(T,a) (T)->lpVtbl->Invoke(T,a)
497 #define INamespaceProxy_OnSelectionChanged(T,a) (T)->lpVtbl->OnSelectionChanged(T,a)
498 #define INamespaceProxy_RefreshFlags(T,a,b,c) (T)->lpVtbl->RefreshFlags(T,a,b,c)
499 #define INamespaceProxy_CacheItem(T,a) (T)->lpVtbl->CacheItem(T,a)
500 #endif
501 
502 /*****************************************************************************
503  * IShellMenu2 interface
504  */
505 #define INTERFACE IShellMenu2
507 {
508  /*** IUnknown ***/
512  /*** IShellMenu ***/
514  STDMETHOD(GetMenuInfo)(THIS_ IShellMenuCallback **ppsmc, UINT *puId, UINT *puIdAncestor, DWORD *pdwFlags) PURE;
515  STDMETHOD(SetShellFolder)(THIS_ IShellFolder *psf, LPCITEMIDLIST pidlFolder, HKEY hKey, DWORD dwFlags) PURE;
516  STDMETHOD(GetShellFolder)(THIS_ DWORD *pdwFlags, LPITEMIDLIST *ppidl, REFIID riid, void **ppv) PURE;
518  STDMETHOD(GetMenu)(THIS_ HMENU *phmenu, HWND *phwnd, DWORD *pdwFlags) PURE;
519  STDMETHOD(InvalidateItem)(THIS_ LPSMDATA psmd, DWORD dwFlags) PURE;
520  STDMETHOD(GetState)(THIS_ LPSMDATA psmd) PURE;
521  STDMETHOD(SetMenuToolbar)(THIS_ IUnknown *punk, DWORD dwFlags) PURE;
522  /*** IShellMenu2 ***/
524  STDMETHOD(SetToolbar)(THIS) PURE;
525  STDMETHOD(SetMinWidth)(THIS) PURE;
526  STDMETHOD(SetNoBorder)(THIS) PURE;
527  STDMETHOD(SetTheme)(THIS) PURE;
528 };
529 #undef INTERFACE
530 
531 #ifdef COBJMACROS
532 #define IShellMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
533 #define IShellMenu2_AddRef(T) (T)->lpVtbl->AddRef(T)
534 #define IShellMenu2_Release(T) (T)->lpVtbl->Release(T)
535 #define IShellMenu2_Initialize(T,a,b,c,d) (T)->lpVtbl->Initialize(T,a,b,c,d)
536 #define IShellMenu2_GetMenuInfo(T,a,b,c,d) (T)->lpVtbl->GetMenuInfo(T,a,b,c,d)
537 #define IShellMenu2_SetShellFolder(T,a,b,c,d) (T)->lpVtbl->SetShellFolder(T,a,b,c,d)
538 #define IShellMenu2_GetShellFolder(T,a,b,c,d) (T)->lpVtbl->GetShellFolder(T,a,b,c,d)
539 #define IShellMenu2_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
540 #define IShellMenu2_GetMenu(T,a,b,c) (T)->lpVtbl->GetMenu(T,a,b,c)
541 #define IShellMenu2_InvalidateItem(T,a,b) (T)->lpVtbl->InvalidateItem(T,a,b)
542 #define IShellMenu2_GetState(T,a) (T)->lpVtbl->GetState(T,a)
543 #define IShellMenu2_SetMenuToolbar(T,a,b) (T)->lpVtbl->SetMenuToolbar(T,a,b)
544 #define IShellMenu2_GetSubMenu(T) (T)->lpVtbl->GetSubMenu(T)
545 #define IShellMenu2_SetToolbar(T) (T)->lpVtbl->SetToolbar(T)
546 #define IShellMenu2_SetMinWidth(T) (T)->lpVtbl->SetMinWidth(T)
547 #define IShellMenu2_SetNoBorder(T) (T)->lpVtbl->SetNoBorder(T)
548 #define IShellMenu2_SetTheme(T) (T)->lpVtbl->SetTheme(T)
549 #endif
550 
551 /*****************************************************************************
552  * IWinEventHandler interface
553  */
554 #define INTERFACE IWinEventHandler
555 DECLARE_INTERFACE_(IWinEventHandler, IUnknown)
556 {
557  /*** IUnknown ***/
561  /*** IWinEventHandler ***/
562  STDMETHOD(OnWinEvent)(THIS_ HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) PURE;
563  STDMETHOD(IsWindowOwner)(THIS_ HWND hWnd) PURE;
564 };
565 #undef INTERFACE
566 
567 #ifdef COBJMACROS
568 #define IWinEventHandler_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
569 #define IWinEventHandler_AddRef(T) (T)->lpVtbl->AddRef(T)
570 #define IWinEventHandler_Release(T) (T)->lpVtbl->Release(T)
571 #define IWinEventHandler_OnWinEvent(T,a,b,c,d,e) (T)->lpVtbl->OnWinEvent(T,a,b,c,d,e)
572 #define IWinEventHandler_IsWindowOwner(T,a) (T)->lpVtbl->IsWindowOwner(T,a)
573 #endif
574 
575 /*****************************************************************************
576  * IAddressBand interface
577  */
578 #define INTERFACE IAddressBand
580 {
581  /*** IUnknown ***/
585  /*** IAddressBand ***/
586  STDMETHOD(FileSysChange)(THIS_ long param8, long paramC) PURE;
587  STDMETHOD(Refresh)(THIS_ long param8) PURE;
588 };
589 #undef INTERFACE
590 
591 #ifdef COBJMACROS
592 #define IAddressBand_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
593 #define IAddressBand_AddRef(T) (T)->lpVtbl->AddRef(T)
594 #define IAddressBand_Release(T) (T)->lpVtbl->Release(T)
595 #define IAddressBand_FileSysChange(T,a,b) (T)->lpVtbl->FileSysChange(T,a,b)
596 #define IAddressBand_Refresh(T,a) (T)->lpVtbl->Refresh(T,a)
597 #endif
598 
599 /*****************************************************************************
600  * IShellMenuAcc interface
601  */
602 #define INTERFACE IShellMenuAcc
604 {
605  /*** IUnknown ***/
609  /*** IShellMenuAcc ***/
610  STDMETHOD(GetTop)(THIS) PURE;
611  STDMETHOD(GetBottom)(THIS) PURE;
612  STDMETHOD(GetTracked)(THIS) PURE;
613  STDMETHOD(GetParentSite)(THIS) PURE;
614  STDMETHOD(GetState)(THIS) PURE;
615  STDMETHOD(DoDefaultAction)(THIS) PURE;
618 };
619 #undef INTERFACE
620 
621 #ifdef COBJMACROS
622 #define IShellMenuAcc_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
623 #define IShellMenuAcc_AddRef(T) (T)->lpVtbl->AddRef(T)
624 #define IShellMenuAcc_Release(T) (T)->lpVtbl->Release(T)
625 #define IShellMenuAcc_GetTop(T) (T)->lpVtbl->GetTop(T)
626 #define IShellMenuAcc_GetBottom(T) (T)->lpVtbl->GetBottom(T)
627 #define IShellMenuAcc_GetTracked(T) (T)->lpVtbl->GetTracked(T)
628 #define IShellMenuAcc_GetParentSite(T) (T)->lpVtbl->GetParentSite(T)
629 #define IShellMenuAcc_GetState(T) (T)->lpVtbl->GetState(T)
630 #define IShellMenuAcc_DoDefaultAction(T) (T)->lpVtbl->DoDefaultAction(T)
631 #define IShellMenuAcc_GetSubMenu(T) (T)->lpVtbl->GetSubMenu(T)
632 #define IShellMenuAcc_IsEmpty(T) (T)->lpVtbl->IsEmpty(T)
633 #endif
634 
635 /*****************************************************************************
636  * IAddressBand interface
637  */
638 #define INTERFACE IBandSiteHelper
639 DECLARE_INTERFACE_(IBandSiteHelper, IUnknown)
640 {
641  /*** IUnknown ***/
645  /*** IBandSiteHelper ***/
646  STDMETHOD(LoadFromStreamBS)(THIS_ IStream *, REFGUID, void **) PURE;
647  STDMETHOD(SaveToStreamBS)(THIS_ IUnknown *, IStream *) PURE;
648 };
649 #undef INTERFACE
650 
651 #ifdef COBJMACROS
652 #define IBandSiteHelper_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
653 #define IBandSiteHelper_AddRef(T) (T)->lpVtbl->AddRef(T)
654 #define IBandSiteHelper_Release(T) (T)->lpVtbl->Release(T)
655 #define IBandSiteHelper_LoadFromStreamBS(T,a,b) (T)->lpVtbl->LoadFromStreamBS(T,a,b)
656 #define IBandSiteHelper_SaveToStreamBS(T,a,b) (T)->lpVtbl->SaveToStreamBS(T,a,b)
657 #endif
658 
659 /*****************************************************************************
660  * IAddressBand interface
661  */
662 #define INTERFACE IShellBrowserService
663 DECLARE_INTERFACE_(IShellBrowserService, IUnknown)
664 {
665  /*** IUnknown ***/
669  /*** IShellBrowserService ***/
670  STDMETHOD(GetPropertyBag)(THIS_ long flags, REFIID riid, void **ppvObject) PURE;
671 };
672 #undef INTERFACE
673 
674 #ifdef COBJMACROS
675 #define IShellBrowserService_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
676 #define IShellBrowserService_AddRef(T) (T)->lpVtbl->AddRef(T)
677 #define IShellBrowserService_Release(T) (T)->lpVtbl->Release(T)
678 #define IShellBrowserService_GetPropertyBag(T,a,b,c) (T)->lpVtbl->GetPropertyBag(T,a,b,c)
679 #endif
680 
681 /*****************************************************************************
682  * ITrayPriv interface
683  */
684 #define INTERFACE ITrayPriv
686 {
687  /*** IUnknown ***/
691  /*** IOleWindow methods ***/
693  STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
694  /*** ITrayPriv ***/
698 };
699 #undef INTERFACE
700 
701 #ifdef COBJMACROS
702 #define ITrayPriv_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
703 #define ITrayPriv_AddRef(T) (T)->lpVtbl->AddRef(T)
704 #define ITrayPriv_Release(T) (T)->lpVtbl->Release(T)
705 #define ITrayPriv_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
706 #define ITrayPriv_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
707 #define ITrayPriv_Execute(T,a,b) (T)->lpVtbl->Execute(T,a,b)
708 #define ITrayPriv_Unknown(T,a,b,c,d) (T)->lpVtbl->Unknown(T,a,b,c,d)
709 #define ITrayPriv_AppendMenu(T,a) (T)->lpVtbl->AppendMenu(T,a)
710 #endif
711 
712 HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*);
714 
715 #ifdef __cplusplus
716 } /* extern "C" */
717 #endif /* defined(__cplusplus) */
718 
719 #endif // __SHLOBJ_UNDOC__H
tagWALK_TREE_CMD
Definition: shlobj_undoc.h:417
#define REFGUID
Definition: guiddef.h:116
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define REFIID
Definition: guiddef.h:118
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
#define THIS_
Definition: basetyps.h:65
static HMENU hmenu
Definition: win.c:66
_In_ BOOLEAN Release
Definition: classpnp.h:929
DECLARE_INTERFACE_(IInitializeObject, IUnknown)
Definition: shlobj_undoc.h:58
#define THIS
Definition: basetyps.h:66
VOID Execute(LPTSTR Path)
Definition: stats.c:407
REFIID riid
Definition: precomp.h:44
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
HWND hWnd
Definition: settings.c:17
REFIID LPVOID * ppv
Definition: atlbase.h:39
HANDLE HWND
Definition: compat.h:13
GLuint buffer
Definition: glext.h:5915
UINT_PTR WPARAM
Definition: windef.h:207
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
WPARAM wParam
Definition: combotst.c:138
static BOOL Set
Definition: pageheap.c:10
#define STDMETHOD(m)
Definition: basetyps.h:62
long newState2
Definition: shlobj_undoc.h:36
unsigned int BOOL
Definition: ntddk_ex.h:94
static int Save(const char **args)
Definition: vfdcmd.c:1851
LONG_PTR LPARAM
Definition: windef.h:208
void * PVOID
Definition: retypes.h:9
ULONG GetBitmapSize(BITMAPINFOHEADER *pbih)
SHELLSTATE oldState
Definition: shlobj_undoc.h:34
NTSTATUS AddBitmap(PNTFS_VCB Vcb, PFILE_RECORD_HEADER FileRecord, PNTFS_ATTR_RECORD AttributeAddress, PCWSTR Name, USHORT NameLength)
Definition: attrib.c:72
#define AppendMenu
Definition: winuser.h:5632
LONG HRESULT
Definition: typedefs.h:77
BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU)
DWORD COLORREF
Definition: windef.h:285
#define WINAPI
Definition: msvc.h:8
long browserIndex
Definition: shlobj_undoc.h:47
unsigned long DWORD
Definition: ntddk_ex.h:95
HANDLE WINAPI SHCreateDesktop(IShellDesktopTray *)
GLbitfield flags
Definition: glext.h:7161
BOOL WINAPI SHDesktopMessageLoop(HANDLE)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
static VOID SetImageList(HWND hwnd)
Definition: mplay32.c:238
REFIID LPVOID * ppvObject
Definition: precomp.h:44
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
INT GetSelectedItem(HWND hDlgCtrl)
enum tagWALK_TREE_CMD WALK_TREE_CMD
HWND buttons[5]
Definition: sndrec32.cpp:40
BOOL WINAPI GetMenuInfo(_In_ HMENU, _Inout_ LPMENUINFO)
BOOL Initialize(HINSTANCE hInstance)
Definition: msconfig.c:341
#define PURE
Definition: basetyps.h:64
unsigned int UINT
Definition: ndis.h:50
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
char AddString[]
Definition: combotst.c:71
void Refresh(void)
Definition: magnifier.c:317
unsigned int ULONG
Definition: retypes.h:1
STDMETHOD() Get(THIS_ IN REFGUID PropSet, IN ULONG Id, IN LPVOID InstanceData, IN ULONG InstanceLength, OUT LPVOID PropertyData, IN ULONG DataLength, OUT ULONG *BytesReturned) PURE
CLSID persistClass
Definition: shlobj_undoc.h:48
static HBITMAP
Definition: button.c:44
LONG_PTR LRESULT
Definition: windef.h:209
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
ULONG pidlSize
Definition: shlobj_undoc.h:49
GLuint64EXT * result
Definition: glext.h:11304
HMENU WINAPI GetMenu(_In_ HWND)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
static HBITMAP hBitmap
Definition: timezone.c:35
long newState1
Definition: shlobj_undoc.h:35
LPARAM lParam
Definition: combotst.c:139
static void SetBitmap(HWND hwnd, HBITMAP *hbmp, UINT uImageId)
Definition: trayprop.cpp:24