ReactOS 0.4.15-dev-6056-gb29b268
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
26extern "C" {
27#endif /* defined(__cplusplus) */
28
29/*****************************************************************************
30 * New shellstate structure
31 */
33{
37};
38
39/*****************************************************************************
40 * Header for persisted view state in cabinet windows
41 */
43{
44 long dwSize;
50};
51
52/*****************************************************************************
53 * IInitializeObject interface
54 */
55#undef INTERFACE
56#define INTERFACE IInitializeObject
57
58DECLARE_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 */
78enum
79{
82};
83#define INTERFACE IBanneredBar
84DECLARE_INTERFACE_(IBanneredBar, IUnknown)//, "596A9A94-013E-11d1-8D34-00A0C90F2719")
85{
89
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{
114};
115
116#undef INTERFACE
117#define INTERFACE IGlobalFolderSettings
118DECLARE_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
134DECLARE_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
165DECLARE_INTERFACE_(IBandSiteStreamCallback, IUnknown)
166{
167 /*** IUnknown ***/
171 /*** IBandSiteStreamCallback ***/
172 STDMETHOD_(HRESULT,OnLoad)(THIS_ IStream *pStm, REFIID riid, PVOID *pvObj) 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
189DECLARE_INTERFACE_(IShellDesktopTray, IUnknown)
190{
191 /*** IUnknown ***/
195 /*** IShellDesktopTray ***/
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
263DECLARE_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
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
374DECLARE_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 */
418{
424
425#define INTERFACE IRegTreeOptions
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
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;
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
555DECLARE_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;
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
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
663DECLARE_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
712HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*);
715
716#ifdef __cplusplus
717} /* extern "C" */
718#endif /* defined(__cplusplus) */
719
720#endif // __SHLOBJ_UNDOC__H
ULONG GetBitmapSize(BITMAPINFOHEADER *pbih)
HWND hWnd
Definition: settings.c:17
static INT Execute(LPTSTR Full, LPTSTR First, LPTSTR Rest, PARSED_COMMAND *Cmd)
Definition: cmd.c:347
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define PURE
Definition: basetyps.h:64
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
WPARAM wParam
Definition: combotst.c:138
char AddString[]
Definition: combotst.c:71
LPARAM lParam
Definition: combotst.c:139
static HBITMAP hBitmap
Definition: timezone.c:26
@ IsEmpty
Definition: atl_ax.c:995
HANDLE HWND
Definition: compat.h:19
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
NTSTATUS AddBitmap(PNTFS_VCB Vcb, PFILE_RECORD_HEADER FileRecord, PNTFS_ATTR_RECORD AttributeAddress, PCWSTR Name, USHORT NameLength)
Definition: attrib.c:72
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
FxAutoRegKey hKey
return pTarget GetState()
GLuint buffer
Definition: glext.h:5915
GLbitfield flags
Definition: glext.h:7161
GLuint64EXT * result
Definition: glext.h:11304
@ Unknown
Definition: i8042prt.h:114
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
void Refresh(void)
Definition: magnifier.c:317
static HBITMAP
Definition: button.c:44
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static LPINTERNAL_BSTR Get(const BSTR lpszString)
Definition: vartype.c:4895
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
static VOID SetImageList(HWND hwnd)
Definition: mplay32.c:238
unsigned int UINT
Definition: ndis.h:50
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
static BOOL Set
Definition: pageheap.c:10
#define REFGUID
Definition: guiddef.h:116
#define REFIID
Definition: guiddef.h:118
void ShowHelp()
Definition: sdbinst.c:809
@ BMICON_SMALL
Definition: shlobj_undoc.h:81
@ BMICON_LARGE
Definition: shlobj_undoc.h:80
STDMETHOD() SetIconSize(THIS_ DWORD iIcon) PURE
STDMETHOD() GetBitmap(THIS_ HBITMAP *phBitmap) PURE
STDMETHOD() SetBitmap(THIS_ HBITMAP hBitmap) PURE
HANDLE WINAPI SHCreateDesktop(IShellDesktopTray *)
BOOL WINAPI SHDesktopMessageLoop(HANDLE)
tagWALK_TREE_CMD
Definition: shlobj_undoc.h:418
@ WALK_TREE_OPTION0
Definition: shlobj_undoc.h:419
@ WALK_TREE_OPTION1
Definition: shlobj_undoc.h:420
@ WALK_TREE_OPTION3
Definition: shlobj_undoc.h:422
@ WALK_TREE_OPTION2
Definition: shlobj_undoc.h:421
STDMETHOD() GetIconSize(THIS_ DWORD *piIcon) PURE
enum tagWALK_TREE_CMD WALK_TREE_CMD
HRESULT WINAPI SHCreateFileDataObject(PCIDLIST_ABSOLUTE pidlFolder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, IDataObject *pDataInner, IDataObject **ppDataObj)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
Definition: shtypes.idl:71
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
HWND buttons[5]
Definition: sndrec32.cpp:40
long newState1
Definition: shlobj_undoc.h:35
SHELLSTATE oldState
Definition: shlobj_undoc.h:34
long newState2
Definition: shlobj_undoc.h:36
CLSID persistClass
Definition: shlobj_undoc.h:48
long browserIndex
Definition: shlobj_undoc.h:47
ULONG pidlSize
Definition: shlobj_undoc.h:49
INT GetSelectedItem(HWND hDlgCtrl)
void * PVOID
Definition: typedefs.h:50
uint32_t ULONG
Definition: typedefs.h:59
static int Save(const char **args)
Definition: vfdcmd.c:1851
static HMENU hmenu
Definition: win.c:66
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
DWORD COLORREF
Definition: windef.h:300
#define WINAPI
Definition: msvc.h:6
BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define AppendMenu
Definition: winuser.h:5721
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI GetMenuInfo(_In_ HMENU, _Inout_ LPMENUINFO)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
HMENU WINAPI GetMenu(_In_ HWND)
static void Initialize()
Definition: xlate.c:212
const CHAR * LPCTSTR
Definition: xmlstorage.h:193