ReactOS 0.4.16-dev-822-gbcedb53
shlobj_undoc.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS header
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Undocumented shell interface
5 * COPYRIGHT: Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
6 * Copyright 2013 Dominik Hornung
7 * Copyright 2025 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
8 */
9
10#pragma once
11
12#include <shlwapi_undoc.h> // For ASSOCQUERY
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18typedef struct tagSLOTITEMDATA
19{
24
25typedef INT (CALLBACK *SLOTCOMPARE)(LPCVOID pvData1, LPCVOID pvData2, UINT cbData);
26
27/*****************************************************************************
28 * New shellstate structure
29 */
31{
35};
36
37/*****************************************************************************
38 * Header for persisted view state in cabinet windows
39 */
41{
42 long dwSize;
48};
49
50/*****************************************************************************
51 * CGID_Explorer (IShellBrowser OLECMD IDs)
52 */
53#define SBCMDID_EXPLORERBARFOLDERS 35 // Query/Toggle
54#define SBCMDID_MIXEDZONE 39
55#define SBCMDID_ONVIEWMOVETOTOP 60
56//SBCMDID_ENABLESHOWTREE ?
57//SBCMDID_SHOWCONTROL ?
58//SBCMDID_CANCELNAVIGATION ?
59//SBCMDID_MAYSAVECHANGES ?
60//SBCMDID_SETHLINKFRAME ?
61//SBCMDID_ENABLESTOP ?
62//SBCMDID_SELECTHISTPIDL ?
63//SBCMDID_GETPANE ? // This is in the official SDK but only the panes are defined
64#define PANE_NONE ((DWORD)-1)
65#define PANE_ZONE 1
66#define PANE_OFFLINE 2
67#define PANE_PRINTER 3
68#define PANE_SSL 4
69#define PANE_NAVIGATION 5
70#define PANE_PROGRESS 6
71#if (_WIN32_IE >= _WIN32_IE_IE60)
72#define PANE_PRIVACY 7
73#endif
74
75/*****************************************************************************
76 * CGID_DefView OLECMD IDs
77 */
78#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS 0
79#define DVCMDID_RESET_DEFAULTFOLDER_SETTINGS 1
80
81/*****************************************************************************
82 * IInitializeObject interface
83 */
84#undef INTERFACE
85#define INTERFACE IInitializeObject
86
87DECLARE_INTERFACE_(IInitializeObject, IUnknown)//, "4622AD16-FF23-11d0-8D34-00A0C90F2719")
88{
92
94};
95#undef INTERFACE
96#if !defined(__cplusplus) || defined(CINTERFACE)
97#define IInitializeObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
98#define IInitializeObject_AddRef(T) (T)->lpVtbl->AddRef(T)
99#define IInitializeObject_Release(T) (T)->lpVtbl->Release(T)
100#define IInitializeObject_Initialize(T) (T)->lpVtbl->Initialize(T)
101#endif
102
103
104/*****************************************************************************
105 * IBanneredBar interface
106 */
107enum
108{
112#define INTERFACE IBanneredBar
113DECLARE_INTERFACE_(IBanneredBar, IUnknown)//, "596A9A94-013E-11d1-8D34-00A0C90F2719")
114{
118
123
124};
125#undef INTERFACE
126
127#if !defined(__cplusplus) || defined(CINTERFACE)
128#define IBanneredBar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
129#define IBanneredBar_AddRef(T) (T)->lpVtbl->AddRef(T)
130#define IBanneredBar_Release(T) (T)->lpVtbl->Release(T)
131#define IBanneredBar_SetIconSize(T,a) (T)->lpVtbl->SetIconSize(T,a)
132#define IBanneredBar_GetIconSize(T,a) (T)->lpVtbl->GetIconSize(T,a)
133#define IBanneredBar_SetBitmap(T,a) (T)->lpVtbl->SetBitmap(T,a)
134#define IBanneredBar_GetBitmap(T,a) (T)->lpVtbl->GetBitmap(T,a)
135#endif
136
137/*****************************************************************************
138 * IGlobalFolderSettings interface
139 */
141{
142 enum { SIZE_NT4 = 8, SIZE_IE4 = 36, SIZE_XP = 40 };
143 enum { VER_98 = 0, VER_2000 = 3, VER_XP = 4 }; // Win98SE with IE5 writes 0, not 3 as the version
144 UINT Statusbar : 1; // "StatusBarOther" is the new location for this
145 UINT Toolbar : 1; // Not used when Explorer uses ReBar
147 SHELLVIEWID vid;
149 UINT Counter; // Incremented every time default folder settings are applied. Invalidates a cache?
150 UINT ViewPriority; // VIEW_PRIORITY_*
151};
152
153#undef INTERFACE
154#define INTERFACE IGlobalFolderSettings
155DECLARE_INTERFACE_(IGlobalFolderSettings, IUnknown)
156{
157 /*** IUnknown ***/
161 /*** IGlobalFolderSettings ***/
163 STDMETHOD(Set)(THIS_ const struct DEFFOLDERSETTINGS *pFDS, UINT cb, UINT unknown) PURE;
164};
165#undef INTERFACE
166
167/*****************************************************************************
168 * IStartMenuCallback interface
169 */
170#define INTERFACE IStartMenuCallback
171DECLARE_INTERFACE_(IStartMenuCallback, IOleWindow)
172{
173 /*** IUnknown ***/
177 /*** IOleWindow methods ***/
179 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
180 /*** IStartMenuCallback ***/
184};
185#undef INTERFACE
186
187#ifdef COBJMACROS
188#define IStartMenuCallback_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
189#define IStartMenuCallback_AddRef(T) (T)->lpVtbl->AddRef(T)
190#define IStartMenuCallback_Release(T) (T)->lpVtbl->Release(T)
191#define IStartMenuCallback_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
192#define IStartMenuCallback_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
193#define IStartMenuCallback_Execute(T,a,b) (T)->lpVtbl->Execute(T,a,b)
194#define IStartMenuCallback_Unknown(T,a,b,c,d) (T)->lpVtbl->Unknown(T,a,b,c,d)
195#define IStartMenuCallback_AppendMenu(T,a) (T)->lpVtbl->AppendMenu(T,a)
196#endif
197
198/*****************************************************************************
199 * IBandSiteStreamCallback interface
200 */
201#define INTERFACE IBandSiteStreamCallback
202DECLARE_INTERFACE_(IBandSiteStreamCallback, IUnknown)
203{
204 /*** IUnknown ***/
208 /*** IBandSiteStreamCallback ***/
209 STDMETHOD_(HRESULT,OnLoad)(THIS_ IStream *pStm, REFIID riid, PVOID *pvObj) PURE;
211};
212#undef INTERFACE
213
214#ifdef COBJMACROS
215#define IBandSiteStreamCallback_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
216#define IBandSiteStreamCallback_AddRef(T) (T)->lpVtbl->AddRef(T)
217#define IBandSiteStreamCallback_Release(T) (T)->lpVtbl->Release(T)
218#define IBandSiteStreamCallback_OnLoad(T,a,b,c) (T)->lpVtbl->OnLoad(T,a,b,c)
219#define IBandSiteStreamCallback_OnSave(T,a,b) (T)->lpVtbl->OnSave(T,a,b)
220#endif
221
222/*****************************************************************************
223 * IShellDesktopTray interface
224 */
225#define INTERFACE IShellDesktopTray
226DECLARE_INTERFACE_(IShellDesktopTray, IUnknown)
227{
228 /*** IUnknown ***/
232 /*** IShellDesktopTray ***/
234 STDMETHOD(GetTrayWindow)(THIS_ HWND*) PURE;
235 STDMETHOD(RegisterDesktopWindow)(THIS_ HWND) PURE;
237};
238#undef INTERFACE
239
240#ifdef COBJMACROS
241#define IShellDesktopTray_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
242#define IShellDesktopTray_AddRef(T) (T)->lpVtbl->AddRef(T)
243#define IShellDesktopTray_Release(T) (T)->lpVtbl->Release(T)
244#define IShellDesktopTray_GetState(T) (T)->lpVtbl->GetState(T)
245#define IShellDesktopTray_GetTrayWindow(T,a) (T)->lpVtbl->GetTrayWindow(T,a)
246#define IShellDesktopTray_RegisterDesktopWindow(T,a) (T)->lpVtbl->RegisterDesktopWindow(T,a)
247#define IShellDesktopTray_Unknown(T,a,b) (T)->lpVtbl->Unknown(T,a,b)
248#endif
249
250/*****************************************************************************
251 * INscTree interface
252 */
253#define INTERFACE INscTree
255{
256 /*** IUnknown ***/
260 /*** INscTree ***/
261 STDMETHOD(CreateTree)(THIS_ long paramC, long param10, long param14) PURE;
262 STDMETHOD(Initialize)(THIS_ long paramC, long param10, long param14) PURE;
263 STDMETHOD(ShowWindow)(THIS_ long paramC) PURE;
265 STDMETHOD(GetSelectedItem)(THIS_ long paramC, long param10) PURE;
266 STDMETHOD(SetSelectedItem)(THIS_ long paramC, long param10, long param14, long param18) PURE;
267 STDMETHOD(GetNscMode)(THIS_ long paramC) PURE;
268 STDMETHOD(SetNscMode)(THIS_ long paramC) PURE;
269 STDMETHOD(GetSelectedItemName)(THIS_ long paramC, long param10) PURE;
270 STDMETHOD(BindToSelectedItemParent)(THIS_ long paramC, long param10, long param14) PURE;
272 STDMETHOD(RightPaneNavigationStarted)(THIS_ long paramC) PURE;
273 STDMETHOD(RightPaneNavigationFinished)(THIS_ long paramC) PURE;
274};
275#undef INTERFACE
276
277#ifdef COBJMACROS
278#define INscTree_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
279#define INscTree_AddRef(T) (T)->lpVtbl->AddRef(T)
280#define INscTree_Release(T) (T)->lpVtbl->Release(T)
281#define INscTree_CreateTree(T,a,b,c) (T)->lpVtbl->CreateTree(T,a,b,c)
282#define INscTree_Initialize(T,a,b,c) (T)->lpVtbl->Initialize(T,a,b,c)
283#define INscTree_ShowWindow(T,a) (T)->lpVtbl->ShowWindow(T,a)
284#define INscTree_Refresh(T) (T)->lpVtbl->Refresh(T)
285#define INscTree_GetSelectedItem(T,a,b) (T)->lpVtbl->GetSelectedItem(T,a,b)
286#define INscTree_SetSelectedItem(T,a,b,c,d) (T)->lpVtbl->SetSelectedItem(T,a,b,c,d)
287#define INscTree_GetNscMode(T,a) (T)->lpVtbl->GetNscMode(T,a)
288#define INscTree_SetNscMode(T,a) (T)->lpVtbl->SetNscMode(T,a)
289#define INscTree_GetSelectedItemName(T,a,b) (T)->lpVtbl->GetSelectedItemName(T,a,b)
290#define INscTree_BindToSelectedItemParent(T,a,b,c) (T)->lpVtbl->BindToSelectedItemParent(T,a,b,c)
291#define INscTree_InLabelEdit(T) (T)->lpVtbl->InLabelEdit(T)
292#define INscTree_RightPaneNavigationStarted(T,a) (T)->lpVtbl->RightPaneNavigationStarted(T,a)
293#define INscTree_RightPaneNavigationFinished(T,a) (T)->lpVtbl->RightPaneNavigationFinished(T,a)
294#endif
295
296/*****************************************************************************
297 * INscTree2 interface
298 */
299#define INTERFACE INscTree2
300DECLARE_INTERFACE_(INscTree2, INscTree)
301{
302 /*** IUnknown ***/
306 /*** INscTree ***/
307 STDMETHOD(CreateTree)(THIS_ long paramC, long param10, long param14) PURE;
308 STDMETHOD(Initialize)(THIS_ long paramC, long param10, long param14) PURE;
309 STDMETHOD(ShowWindow)(THIS_ long paramC) PURE;
311 STDMETHOD(GetSelectedItem)(THIS_ long paramC, long param10) PURE;
312 STDMETHOD(SetSelectedItem)(THIS_ long paramC, long param10, long param14, long param18) PURE;
313 STDMETHOD(GetNscMode)(THIS_ long paramC) PURE;
314 STDMETHOD(SetNscMode)(THIS_ long paramC) PURE;
315 STDMETHOD(GetSelectedItemName)(THIS_ long paramC, long param10) PURE;
316 STDMETHOD(BindToSelectedItemParent)(THIS_ long paramC, long param10, long param14) PURE;
318 STDMETHOD(RightPaneNavigationStarted)(THIS_ long paramC) PURE;
319 STDMETHOD(RightPaneNavigationFinished)(THIS_ long paramC) PURE;
320 /*** INscTree2 ***/
321 STDMETHOD(CreateTree2)(THIS_ long paramC, long param10, long param14, long param18) PURE;
322};
323#undef INTERFACE
324
325#ifdef COBJMACROS
326#define INscTree2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
327#define INscTree2_AddRef(T) (T)->lpVtbl->AddRef(T)
328#define INscTree2_Release(T) (T)->lpVtbl->Release(T)
329#define INscTree2_CreateTree(T,a,b,c) (T)->lpVtbl->CreateTree(T,a,b,c)
330#define INscTree2_Initialize(T,a,b,c) (T)->lpVtbl->Initialize(T,a,b,c)
331#define INscTree2_ShowWindow(T,a) (T)->lpVtbl->ShowWindow(T,a)
332#define INscTree2_Refresh(T) (T)->lpVtbl->Refresh(T)
333#define INscTree2_GetSelectedItem(T,a,b) (T)->lpVtbl->GetSelectedItem(T,a,b)
334#define INscTree2_SetSelectedItem(T,a,b,c,d) (T)->lpVtbl->SetSelectedItem(T,a,b,c,d)
335#define INscTree2_GetNscMode(T,a) (T)->lpVtbl->GetNscMode(T,a)
336#define INscTree2_SetNscMode(T,a) (T)->lpVtbl->SetNscMode(T,a)
337#define INscTree2_GetSelectedItemName(T,a,b) (T)->lpVtbl->GetSelectedItemName(T,a,b)
338#define INscTree2_BindToSelectedItemParent(T,a,b,c) (T)->lpVtbl->BindToSelectedItemParent(T,a,b,c)
339#define INscTree2_InLabelEdit(T) (T)->lpVtbl->InLabelEdit(T)
340#define INscTree2_RightPaneNavigationStarted(T,a) (T)->lpVtbl->RightPaneNavigationStarted(T,a)
341#define INscTree2_RightPaneNavigationFinished(T,a) (T)->lpVtbl->RightPaneNavigationFinished(T,a)
342#define INscTree2_CreateTree2(T,a,b,c,d) (T)->lpVtbl->CreateTree2(T,a,b,c,d)
343#endif
344
345/*****************************************************************************
346 * IAddressEditBox interface
347 */
348#define INTERFACE IAddressEditBox
350{
351 /*** IUnknown ***/
355 /*** IAddressEditBox ***/
356 STDMETHOD(Init)(THIS_ HWND comboboxEx, HWND editControl, long param14, IUnknown *param18) PURE;
357 STDMETHOD(SetCurrentDir)(THIS_ long paramC) PURE;
358 STDMETHOD(ParseNow)(THIS_ long paramC) PURE;
359 STDMETHOD(Execute)(THIS_ long paramC) PURE;
360 STDMETHOD(Save)(THIS_ long paramC) PURE;
361};
362#undef INTERFACE
363
364#ifdef COBJMACROS
365#define IAddressEditBox_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
366#define IAddressEditBox_AddRef(T) (T)->lpVtbl->AddRef(T)
367#define IAddressEditBox_Release(T) (T)->lpVtbl->Release(T)
368#define IAddressEditBox_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
369#define IAddressEditBox_SetCurrentDir(T,a) (T)->lpVtbl->SetCurrentDir(T,a)
370#define IAddressEditBox_ParseNow(T,a) (T)->lpVtbl->ParseNow(T,a)
371#define IAddressEditBox_Execute(T,a) (T)->lpVtbl->Execute(T,a)
372#define IAddressEditBox_Save(T,a) (T)->lpVtbl->Save(T,a)
373#endif
374
375/*****************************************************************************
376 * IBandProxy interface
377 */
378#define INTERFACE IBandProxy
380{
381 /*** IUnknown ***/
385 /*** IBandProxy ***/
386 STDMETHOD(SetSite)(THIS_ IUnknown *paramC) PURE;
387 STDMETHOD(CreateNewWindow)(THIS_ long paramC) PURE;
388 STDMETHOD(GetBrowserWindow)(THIS_ IUnknown **paramC) PURE;
389 STDMETHOD(IsConnected)(THIS) PURE;
390 STDMETHOD(NavigateToPIDL)(THIS_ LPCITEMIDLIST pidl) PURE;
391 STDMETHOD(NavigateToURL)(THIS_ long paramC, long param10) PURE;
392};
393#undef INTERFACE
394
395#ifdef COBJMACROS
396#define IBandProxy_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
397#define IBandProxy_AddRef(T) (T)->lpVtbl->AddRef(T)
398#define IBandProxy_Release(T) (T)->lpVtbl->Release(T)
399#define IBandProxy_SetSite(T,a) (T)->lpVtbl->SetSite(T,a)
400#define IBandProxy_CreateNewWindow(T,a) (T)->lpVtbl->CreateNewWindow(T,a)
401#define IBandProxy_GetBrowserWindow(T,a) (T)->lpVtbl->GetBrowserWindow(T,a)
402#define IBandProxy_IsConnected(T) (T)->lpVtbl->IsConnected(T)
403#define IBandProxy_NavigateToPIDL(T,a) (T)->lpVtbl->NavigateToPIDL(T,a)
404#define IBandProxy_NavigateToURL(T,a,b) (T)->lpVtbl->NavigateToURL(T,a,b)
405#endif
406
407/*****************************************************************************
408 * IExplorerToolbar interface
409 */
410#define INTERFACE IExplorerToolbar
411DECLARE_INTERFACE_(IExplorerToolbar, IUnknown)
412{
413 /*** IUnknown ***/
417 /*** IExplorerToolbar ***/
418 STDMETHOD(SetCommandTarget)(THIS_ IUnknown *theTarget, GUID *category, long param14) PURE;
419 STDMETHOD(Unknown1)(THIS) PURE;
420 STDMETHOD(AddButtons)(THIS_ const GUID *pguidCmdGroup, long buttonCount, TBBUTTON *buttons) PURE;
421 STDMETHOD(AddString)(THIS_ const GUID *pguidCmdGroup, HINSTANCE param10, LPCTSTR param14, long *param18) PURE;
422 STDMETHOD(GetButton)(THIS_ const GUID *paramC, long param10, long param14) PURE;
423 STDMETHOD(GetState)(THIS_ const GUID *pguidCmdGroup, long commandID, long *theState) PURE;
424 STDMETHOD(SetState)(THIS_ const GUID *pguidCmdGroup, long commandID, long theState) PURE;
425 STDMETHOD(AddBitmap)(THIS_ const GUID *pguidCmdGroup, long param10, long buttonCount, TBADDBITMAP *lParam, long *newIndex, COLORREF param20) PURE;
426 STDMETHOD(GetBitmapSize)(THIS_ long *paramC) PURE;
427 STDMETHOD(SendToolbarMsg)(THIS_ const GUID *pguidCmdGroup, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *result) PURE;
428 STDMETHOD(SetImageList)(THIS_ const GUID *pguidCmdGroup, HIMAGELIST param10, HIMAGELIST param14, HIMAGELIST param18) PURE;
429 STDMETHOD(ModifyButton)(THIS_ const GUID *paramC, long param10, long param14) PURE;
430};
431#undef INTERFACE
432
433#ifdef COBJMACROS
434#define IExplorerToolbar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
435#define IExplorerToolbar_AddRef(T) (T)->lpVtbl->AddRef(T)
436#define IExplorerToolbar_Release(T) (T)->lpVtbl->Release(T)
437#define IExplorerToolbar_SetCommandTarget(T,a,b,c) (T)->lpVtbl->SetCommandTarget(T,a,b,c)
438#define IExplorerToolbar_Unknown1(T) (T)->lpVtbl->Unknown1(T)
439#define IExplorerToolbar_AddButtons(T,a,b,c) (T)->lpVtbl->AddButtons(T,a,b,c)
440#define IExplorerToolbar_AddString(T,a,b,c,d) (T)->lpVtbl->AddString(T,a,b,c,d)
441#define IExplorerToolbar_GetButton(T,a,b,c) (T)->lpVtbl->GetButton(T,a,b,c)
442#define IExplorerToolbar_GetState(T,a,b,c) (T)->lpVtbl->GetState(T,a,b,c)
443#define IExplorerToolbar_SetState(T,a,b,c) (T)->lpVtbl->SetState(T,a,b,c)
444#define IExplorerToolbar_AddBitmap(T,a,b,c,d,e,f) (T)->lpVtbl->AddBitmap(T,a,b,c,d,e,f)
445#define IExplorerToolbar_GetBitmapSize(T,a) (T)->lpVtbl->GetBitmapSize(T,a)
446#define IExplorerToolbar_SendToolbarMsg(T,a,b,c,d,e) (T)->lpVtbl->SendToolbarMsg(T,a,b,c,d,e)
447#define IExplorerToolbar_SetImageList(T,a,b,c,d) (T)->lpVtbl->SetImageList(T,a,b,c,d)
448#define IExplorerToolbar_ModifyButton(T,a,b,c) (T)->lpVtbl->ModifyButton(T,a,b,c)
449#endif
450
451/*****************************************************************************
452 * IRegTreeOptions interface
453 */
455{
461
462#define INTERFACE IRegTreeOptions
464{
465 /*** IUnknown ***/
469 /*** IRegTreeOptions ***/
470 STDMETHOD(InitTree)(THIS_ HWND paramC, HKEY param10, char const *param14, char const *param18) PURE;
471 STDMETHOD(WalkTree)(THIS_ WALK_TREE_CMD paramC) PURE;
472 STDMETHOD(ToggleItem)(THIS_ HTREEITEM paramC) PURE;
473 STDMETHOD(ShowHelp)(THIS_ HTREEITEM paramC, unsigned long param10) PURE;
474};
475#undef INTERFACE
476
477#ifdef COBJMACROS
478#define IRegTreeOptions_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
479#define IRegTreeOptions_AddRef(T) (T)->lpVtbl->AddRef(T)
480#define IRegTreeOptions_Release(T) (T)->lpVtbl->Release(T)
481#define IRegTreeOptions_InitTree(T,a,b,c,d) (T)->lpVtbl->InitTree(T,a,b,c,d)
482#define IRegTreeOptions_WalkTree(T,a) (T)->lpVtbl->WalkTree(T,a)
483#define IRegTreeOptions_ToggleItem(T,a) (T)->lpVtbl->ToggleItem(T,a)
484#define IRegTreeOptions_ShowHelp(T,a,b) (T)->lpVtbl->ShowHelp(T,a,b)
485#endif
486
487/*****************************************************************************
488 * IBandNavigate interface
489 */
490#define INTERFACE IBandNavigate
492{
493 /*** IUnknown ***/
497 /*** IBandNavigate ***/
498 STDMETHOD(Select)(THIS_ LPCITEMIDLIST pidl) PURE;
499};
500#undef INTERFACE
501
502#ifdef COBJMACROS
503#define IBandNavigate_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
504#define IBandNavigate_AddRef(T) (T)->lpVtbl->AddRef(T)
505#define IBandNavigate_Release(T) (T)->lpVtbl->Release(T)
506#define IBandNavigate_Select(T,a) (T)->lpVtbl->Select(T,a)
507#endif
508
509/*****************************************************************************
510 * INamespaceProxy interface
511 */
512#define INTERFACE INamespaceProxy
514{
515 /*** IUnknown ***/
519 /*** INamespaceProxy ***/
520 STDMETHOD(GetNavigateTarget)(THIS_ _In_ PCIDLIST_ABSOLUTE pidl, _Out_ PIDLIST_ABSOLUTE *ppidlTarget, _Out_ ULONG *pulAttrib) PURE;
522 STDMETHOD(OnSelectionChanged)(THIS_ _In_ PCIDLIST_ABSOLUTE pidl) PURE;
523 STDMETHOD(RefreshFlags)(THIS_ _Out_ DWORD *pdwStyle, _Out_ DWORD *pdwExStyle, _Out_ DWORD *dwEnum) PURE;
524 STDMETHOD(CacheItem)(THIS_ _In_ PCIDLIST_ABSOLUTE pidl) PURE;
525};
526#undef INTERFACE
527
528#ifdef COBJMACROS
529#define INamespaceProxy_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
530#define INamespaceProxy_AddRef(T) (T)->lpVtbl->AddRef(T)
531#define INamespaceProxy_Release(T) (T)->lpVtbl->Release(T)
532#define INamespaceProxy_GetNavigateTarget(T,a,b,c) (T)->lpVtbl->GetNavigateTarget(T,a,b,c)
533#define INamespaceProxy_Invoke(T,a) (T)->lpVtbl->Invoke(T,a)
534#define INamespaceProxy_OnSelectionChanged(T,a) (T)->lpVtbl->OnSelectionChanged(T,a)
535#define INamespaceProxy_RefreshFlags(T,a,b,c) (T)->lpVtbl->RefreshFlags(T,a,b,c)
536#define INamespaceProxy_CacheItem(T,a) (T)->lpVtbl->CacheItem(T,a)
537#endif
538
539/*****************************************************************************
540 * IShellMenu2 interface
541 */
542#define INTERFACE IShellMenu2
544{
545 /*** IUnknown ***/
549 /*** IShellMenu ***/
551 STDMETHOD(GetMenuInfo)(THIS_ IShellMenuCallback **ppsmc, UINT *puId, UINT *puIdAncestor, DWORD *pdwFlags) PURE;
552 STDMETHOD(SetShellFolder)(THIS_ IShellFolder *psf, LPCITEMIDLIST pidlFolder, HKEY hKey, DWORD dwFlags) PURE;
553 STDMETHOD(GetShellFolder)(THIS_ DWORD *pdwFlags, LPITEMIDLIST *ppidl, REFIID riid, void **ppv) PURE;
555 STDMETHOD(GetMenu)(THIS_ HMENU *phmenu, HWND *phwnd, DWORD *pdwFlags) PURE;
556 STDMETHOD(InvalidateItem)(THIS_ LPSMDATA psmd, DWORD dwFlags) PURE;
558 STDMETHOD(SetMenuToolbar)(THIS_ IUnknown *punk, DWORD dwFlags) PURE;
559 /*** IShellMenu2 ***/
561 STDMETHOD(SetToolbar)(THIS) PURE;
562 STDMETHOD(SetMinWidth)(THIS) PURE;
563 STDMETHOD(SetNoBorder)(THIS) PURE;
564 STDMETHOD(SetTheme)(THIS) PURE;
565};
566#undef INTERFACE
567
568#ifdef COBJMACROS
569#define IShellMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
570#define IShellMenu2_AddRef(T) (T)->lpVtbl->AddRef(T)
571#define IShellMenu2_Release(T) (T)->lpVtbl->Release(T)
572#define IShellMenu2_Initialize(T,a,b,c,d) (T)->lpVtbl->Initialize(T,a,b,c,d)
573#define IShellMenu2_GetMenuInfo(T,a,b,c,d) (T)->lpVtbl->GetMenuInfo(T,a,b,c,d)
574#define IShellMenu2_SetShellFolder(T,a,b,c,d) (T)->lpVtbl->SetShellFolder(T,a,b,c,d)
575#define IShellMenu2_GetShellFolder(T,a,b,c,d) (T)->lpVtbl->GetShellFolder(T,a,b,c,d)
576#define IShellMenu2_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
577#define IShellMenu2_GetMenu(T,a,b,c) (T)->lpVtbl->GetMenu(T,a,b,c)
578#define IShellMenu2_InvalidateItem(T,a,b) (T)->lpVtbl->InvalidateItem(T,a,b)
579#define IShellMenu2_GetState(T,a) (T)->lpVtbl->GetState(T,a)
580#define IShellMenu2_SetMenuToolbar(T,a,b) (T)->lpVtbl->SetMenuToolbar(T,a,b)
581#define IShellMenu2_GetSubMenu(T) (T)->lpVtbl->GetSubMenu(T)
582#define IShellMenu2_SetToolbar(T) (T)->lpVtbl->SetToolbar(T)
583#define IShellMenu2_SetMinWidth(T) (T)->lpVtbl->SetMinWidth(T)
584#define IShellMenu2_SetNoBorder(T) (T)->lpVtbl->SetNoBorder(T)
585#define IShellMenu2_SetTheme(T) (T)->lpVtbl->SetTheme(T)
586#endif
587
588/*****************************************************************************
589 * IWinEventHandler interface
590 */
591#define INTERFACE IWinEventHandler
592DECLARE_INTERFACE_(IWinEventHandler, IUnknown)
593{
594 /*** IUnknown ***/
598 /*** IWinEventHandler ***/
599 STDMETHOD(OnWinEvent)(THIS_ HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) PURE;
600 STDMETHOD(IsWindowOwner)(THIS_ HWND hWnd) PURE;
601};
602#undef INTERFACE
603
604#ifdef COBJMACROS
605#define IWinEventHandler_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
606#define IWinEventHandler_AddRef(T) (T)->lpVtbl->AddRef(T)
607#define IWinEventHandler_Release(T) (T)->lpVtbl->Release(T)
608#define IWinEventHandler_OnWinEvent(T,a,b,c,d,e) (T)->lpVtbl->OnWinEvent(T,a,b,c,d,e)
609#define IWinEventHandler_IsWindowOwner(T,a) (T)->lpVtbl->IsWindowOwner(T,a)
610#endif
611
612/*****************************************************************************
613 * IAddressBand interface
614 */
615#define INTERFACE IAddressBand
617{
618 /*** IUnknown ***/
622 /*** IAddressBand ***/
623 STDMETHOD(FileSysChange)(THIS_ long param8, long paramC) PURE;
624 STDMETHOD(Refresh)(THIS_ long param8) PURE;
625};
626#undef INTERFACE
627
628#ifdef COBJMACROS
629#define IAddressBand_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
630#define IAddressBand_AddRef(T) (T)->lpVtbl->AddRef(T)
631#define IAddressBand_Release(T) (T)->lpVtbl->Release(T)
632#define IAddressBand_FileSysChange(T,a,b) (T)->lpVtbl->FileSysChange(T,a,b)
633#define IAddressBand_Refresh(T,a) (T)->lpVtbl->Refresh(T,a)
634#endif
635
636/*****************************************************************************
637 * IShellMenuAcc interface
638 */
639#define INTERFACE IShellMenuAcc
641{
642 /*** IUnknown ***/
646 /*** IShellMenuAcc ***/
647 STDMETHOD(GetTop)(THIS) PURE;
648 STDMETHOD(GetBottom)(THIS) PURE;
649 STDMETHOD(GetTracked)(THIS) PURE;
650 STDMETHOD(GetParentSite)(THIS) PURE;
652 STDMETHOD(DoDefaultAction)(THIS) PURE;
655};
656#undef INTERFACE
657
658#ifdef COBJMACROS
659#define IShellMenuAcc_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
660#define IShellMenuAcc_AddRef(T) (T)->lpVtbl->AddRef(T)
661#define IShellMenuAcc_Release(T) (T)->lpVtbl->Release(T)
662#define IShellMenuAcc_GetTop(T) (T)->lpVtbl->GetTop(T)
663#define IShellMenuAcc_GetBottom(T) (T)->lpVtbl->GetBottom(T)
664#define IShellMenuAcc_GetTracked(T) (T)->lpVtbl->GetTracked(T)
665#define IShellMenuAcc_GetParentSite(T) (T)->lpVtbl->GetParentSite(T)
666#define IShellMenuAcc_GetState(T) (T)->lpVtbl->GetState(T)
667#define IShellMenuAcc_DoDefaultAction(T) (T)->lpVtbl->DoDefaultAction(T)
668#define IShellMenuAcc_GetSubMenu(T) (T)->lpVtbl->GetSubMenu(T)
669#define IShellMenuAcc_IsEmpty(T) (T)->lpVtbl->IsEmpty(T)
670#endif
671
672/*****************************************************************************
673 * IAddressBand interface
674 */
675#define INTERFACE IBandSiteHelper
677{
678 /*** IUnknown ***/
682 /*** IBandSiteHelper ***/
683 STDMETHOD(LoadFromStreamBS)(THIS_ IStream *, REFGUID, void **) PURE;
684 STDMETHOD(SaveToStreamBS)(THIS_ IUnknown *, IStream *) PURE;
685};
686#undef INTERFACE
687
688#ifdef COBJMACROS
689#define IBandSiteHelper_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
690#define IBandSiteHelper_AddRef(T) (T)->lpVtbl->AddRef(T)
691#define IBandSiteHelper_Release(T) (T)->lpVtbl->Release(T)
692#define IBandSiteHelper_LoadFromStreamBS(T,a,b) (T)->lpVtbl->LoadFromStreamBS(T,a,b)
693#define IBandSiteHelper_SaveToStreamBS(T,a,b) (T)->lpVtbl->SaveToStreamBS(T,a,b)
694#endif
695
696/*****************************************************************************
697 * IAddressBand interface
698 */
699#define INTERFACE IShellBrowserService
700DECLARE_INTERFACE_(IShellBrowserService, IUnknown)
701{
702 /*** IUnknown ***/
706 /*** IShellBrowserService ***/
707 STDMETHOD(GetPropertyBag)(THIS_ long flags, REFIID riid, void **ppvObject) PURE;
708};
709#undef INTERFACE
710
711#ifdef COBJMACROS
712#define IShellBrowserService_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
713#define IShellBrowserService_AddRef(T) (T)->lpVtbl->AddRef(T)
714#define IShellBrowserService_Release(T) (T)->lpVtbl->Release(T)
715#define IShellBrowserService_GetPropertyBag(T,a,b,c) (T)->lpVtbl->GetPropertyBag(T,a,b,c)
716#endif
717
718/*****************************************************************************
719 * IMruDataList interface
720 */
721#define INTERFACE IMruDataList
723{
724 /*** IUnknown ***/
728 /*** IMruDataList ***/
731 STDMETHOD(FindData)(THIS_ LPCVOID , DWORD, UINT*) PURE;
733 STDMETHOD(QueryInfo)(THIS_ UINT, UINT*, DWORD*) PURE;
735};
736#undef INTERFACE
737
738#ifdef COBJMACROS
739#define IMruDataList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
740#define IMruDataList_AddRef(T) (T)->lpVtbl->AddRef(T)
741#define IMruDataList_Release(T) (T)->lpVtbl->Release(T)
742#define IMruDataList_InitData(T,a,b,c,d,e) (T)->lpVtbl->InitData(T,a,b,c,d,e)
743#define IMruDataList_AddData(T,a,b,c) (T)->lpVtbl->AddData(T,a,b,c)
744#define IMruDataList_FindData(T,a,b,c) (T)->lpVtbl->FindData(T,a,b,c)
745#define IMruDataList_GetData(T,a,b,c) (T)->lpVtbl->GetData(T,a,b,c)
746#define IMruDataList_QueryInfo(T,a,b,c) (T)->lpVtbl->QueryInfo(T,a,b,c)
747#define IMruDataList_Delete(T,a) (T)->lpVtbl->Delete(T,a)
748#endif
749
750/*****************************************************************************
751 * IMruPidlList interface
752 */
753#define INTERFACE IMruPidlList
755{
756 /*** IUnknown ***/
760 /*** IMruPidlList ***/
761 STDMETHOD(InitList)(THIS_ UINT, HKEY, LPCWSTR) PURE;
763 STDMETHOD(QueryPidl)(THIS_ LPCITEMIDLIST, UINT, UINT*, UINT*) PURE;
764 STDMETHOD(PruneKids)(THIS_ LPCITEMIDLIST) PURE;
765};
766#undef INTERFACE
767
768#ifdef COBJMACROS
769#define IMruPidlList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
770#define IMruPidlList_AddRef(T) (T)->lpVtbl->AddRef(T)
771#define IMruPidlList_Release(T) (T)->lpVtbl->Release(T)
772#define IMruPidlList_InitList(T,a,b,c) (T)->lpVtbl->InitList(T,a,b,c)
773#define IMruPidlList_UsePidl(T,a,b) (T)->lpVtbl->UsePidl(T,a,b)
774#define IMruPidlList_QueryPidl(T,a,b,c,d) (T)->lpVtbl->QueryPidl(T,a,b,c,d)
775#define IMruPidlList_PruneKids(T,a) (T)->lpVtbl->PruneKids(T,a)
776#endif
777
778/*****************************************************************************
779 * ITrayPriv interface
780 */
781#define INTERFACE ITrayPriv
783{
784 /*** IUnknown ***/
788 /*** IOleWindow methods ***/
790 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
791 /*** ITrayPriv ***/
795};
796#undef INTERFACE
797
798#ifdef COBJMACROS
799#define ITrayPriv_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
800#define ITrayPriv_AddRef(T) (T)->lpVtbl->AddRef(T)
801#define ITrayPriv_Release(T) (T)->lpVtbl->Release(T)
802#define ITrayPriv_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
803#define ITrayPriv_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
804#define ITrayPriv_Execute(T,a,b) (T)->lpVtbl->Execute(T,a,b)
805#define ITrayPriv_Unknown(T,a,b,c,d) (T)->lpVtbl->Unknown(T,a,b,c,d)
806#define ITrayPriv_AppendMenu(T,a) (T)->lpVtbl->AppendMenu(T,a)
807#endif
808
809/*****************************************************************************
810 * IAssociationElement interface
811 *
812 * @see IAssociationElementOld
813 * @see https://www.geoffchappell.com/studies/windows/shell/shlwapi/interfaces/iassociationelement.htm
814 */
815#define INTERFACE IAssociationElement
816DECLARE_INTERFACE_(IAssociationElement, IUnknown) // {D8F6AD5B-B44F-4BCC-88FD-EB3473DB7502}
817{
818 /*** IUnknown ***/
822 /*** IAssociationElement ***/
827 STDMETHOD(QueryDirect)(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE;
829};
830#undef INTERFACE
831
832#ifdef COBJMACROS
833#define IAssociationElement_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
834#define IAssociationElement_AddRef(T) (T)->lpVtbl->AddRef(T)
835#define IAssociationElement_Release(T) (T)->lpVtbl->Release(T)
836#define IAssociationElement_QueryString(T,a,b,c) (T)->lpVtbl->QueryString(T,a,b,c)
837#define IAssociationElement_QueryDword(T,a,b,c) (T)->lpVtbl->QueryDword(T,a,b,c)
838#define IAssociationElement_QueryGuid(T,a,b,c) (T)->lpVtbl->QueryGuid(T,a,b,c)
839#define IAssociationElement_QueryExists(T,a,b) (T)->lpVtbl->QueryExists(T,a,b)
840#define IAssociationElement_QueryDirect(T,a,b,c) (T)->lpVtbl->QueryDirect(T,a,b,c)
841#define IAssociationElement_QueryObject(T,a,b,c,d) (T)->lpVtbl->QueryObject(T,a,b,c,d)
842#endif
843
844/*****************************************************************************
845 * IEnumAssociationElements interface
846 *
847 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/ienumassociationelements.htm
848 */
849#define INTERFACE IEnumAssociationElements
850DECLARE_INTERFACE_(IEnumAssociationElements, IUnknown) // {A6B0FB57-7523-4439-9425-EBE99823B828}
851{
852 /*** IUnknown ***/
856 /*** IEnumAssociationElements ***/
857 STDMETHOD(Next)(THIS_ ULONG celt, IAssociationElement *pElement, ULONG *pceltFetched) PURE;
860 STDMETHOD(Clone)(THIS_ IEnumAssociationElements **ppNew) PURE;
861};
862#undef INTERFACE
863
864#ifdef COBJMACROS
865#define IEnumAssociationElements_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
866#define IEnumAssociationElements_AddRef(T) (T)->lpVtbl->AddRef(T)
867#define IEnumAssociationElements_Release(T) (T)->lpVtbl->Release(T)
868#define IEnumAssociationElements_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
869#define IEnumAssociationElements_Skip(T,a) (T)->lpVtbl->Skip(T,a)
870#define IEnumAssociationElements_Reset(T) (T)->lpVtbl->Reset(T)
871#define IEnumAssociationElements_Clone(T,a) (T)->lpVtbl->Clone(T,a)
872#endif
873
874/*****************************************************************************
875 * IAssociationArrayOld interface
876 *
877 * @see IAssociationArray
878 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/iassociationarray.htm
879 */
880#define INTERFACE IAssociationArrayOld
881DECLARE_INTERFACE_(IAssociationArrayOld, IUnknown) // {3B877E3C-67DE-4F9A-B29B-17D0A1521C6A}
882{
883 /*** IUnknown ***/
887 /*** IAssociationArrayOld ***/
888 STDMETHOD(EnumElements)(THIS_ ULONG flags, IEnumAssociationElements **ppElement) PURE;
894};
895#undef INTERFACE
896
897#ifdef COBJMACROS
898#define IAssociationArrayOld_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
899#define IAssociationArrayOld_AddRef(T) (T)->lpVtbl->AddRef(T)
900#define IAssociationArrayOld_Release(T) (T)->lpVtbl->Release(T)
901#define IAssociationArrayOld_EnumElements(T,a,b) (T)->lpVtbl->EnumElements(T,a,b)
902#define IAssociationArrayOld_QueryString(T,a,b,c,d) (T)->lpVtbl->QueryString(T,a,b,c,d)
903#define IAssociationArrayOld_QueryDword(T,a,b,c,d) (T)->lpVtbl->QueryDword(T,a,b,c,d)
904#define IAssociationArrayOld_QueryExists(T,a,b,c) (T)->lpVtbl->QueryExists(T,a,b,c)
905#define IAssociationArrayOld_QueryDirect(T,a,b,c,d) (T)->lpVtbl->QueryDirect(T,a,b,c,d)
906#define IAssociationArrayOld_QueryObject(T,a,b,c,d,e) (T)->lpVtbl->QueryObject(T,a,b,c,d,e)
907#endif
908
909/*****************************************************************************
910 * IAssociationArray interface
911 *
912 * @see IAssociationArrayOld
913 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/iassociationarray.htm
914 */
915#define INTERFACE IAssociationArray
916DECLARE_INTERFACE_(IAssociationArray, IUnknown) // {19ADBAFD-1C5F-4FC7-94EE-846702DFB58B}
917{
918 /*** IUnknown ***/
922 /*** IAssociationArray ***/
927 STDMETHOD(QueryDirect)(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE;
929};
930#undef INTERFACE
931
932#ifdef COBJMACROS
933#define IAssociationArray_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
934#define IAssociationArray_AddRef(T) (T)->lpVtbl->AddRef(T)
935#define IAssociationArray_Release(T) (T)->lpVtbl->Release(T)
936#define IAssociationArray_QueryString(T,a,b,c) (T)->lpVtbl->QueryString(T,a,b,c)
937#define IAssociationArray_QueryDword(T,a,b,c) (T)->lpVtbl->QueryDword(T,a,b,c)
938#define IAssociationArray_QueryGuid(T,a,b,c) (T)->lpVtbl->QueryGuid(T,a,b,c)
939#define IAssociationArray_QueryExists(T,a,b) (T)->lpVtbl->QueryExists(T,a,b)
940#define IAssociationArray_QueryDirect(T,a,b,c) (T)->lpVtbl->QueryDirect(T,a,b,c)
941#define IAssociationArray_QueryObject(T,a,b,c,d) (T)->lpVtbl->QueryObject(T,a,b,c,d)
942#endif
943
944HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*);
947
948#ifdef __cplusplus
949} /* extern "C" */
950#endif
ULONG GetBitmapSize(BITMAPINFOHEADER *pbih)
HWND hWnd
Definition: settings.c:17
static BOOL InLabelEdit(HWND hWnd, UINT Msg)
Definition: main.c:152
BOOL Delete(LPCTSTR ServiceName)
Definition: delete.c:12
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 PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
HANDLE HKEY
Definition: registry.h:26
_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
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
HANDLE HWND
Definition: compat.h:19
#define CALLBACK
Definition: compat.h:35
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
NTSTATUS AddData(PFILE_RECORD_HEADER FileRecord, PNTFS_ATTR_RECORD AttributeAddress)
Definition: attrib.c:160
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
static BYTE * GetData(BYTE *pData, ULONG *pLength)
Definition: assembly.c:114
FxAutoRegKey hKey
return pTarget GetState()
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 HMODULE MODULEINFO DWORD cb
Definition: module.c:33
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:63
static HMENU hmenu
Definition: win.c:66
static VOID SetImageList(HWND hwnd)
Definition: mplay32.c:238
unsigned int UINT
Definition: ndis.h:50
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
#define LPVOID
Definition: nt_native.h:45
static BOOL Set
Definition: pageheap.c:10
#define INT
Definition: polytest.cpp:20
#define REFGUID
Definition: guiddef.h:116
#define REFIID
Definition: guiddef.h:118
void ShowHelp()
Definition: sdbinst.c:809
@ BMICON_SMALL
Definition: shlobj_undoc.h:110
@ BMICON_LARGE
Definition: shlobj_undoc.h:109
STDMETHOD() QueryDirect(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE
STDMETHOD() SetIconSize(THIS_ DWORD iIcon) PURE
STDMETHOD() QueryExists(THIS_ ASSOCQUERY query, PCWSTR key) PURE
STDMETHOD() Clone(THIS_ IEnumAssociationElements **ppNew) PURE
STDMETHOD() QueryDword(THIS_ ASSOCQUERY query, PCWSTR key, DWORD *pdwValue) PURE
STDMETHOD() Skip(THIS_ ULONG celt) PURE
STDMETHOD() GetBitmap(THIS_ HBITMAP *phBitmap) PURE
STDMETHOD() SetBitmap(THIS_ HBITMAP hBitmap) PURE
HANDLE WINAPI SHCreateDesktop(IShellDesktopTray *)
STDMETHOD() Reset(THIS) PURE
INT(CALLBACK * SLOTCOMPARE)(LPCVOID pvData1, LPCVOID pvData2, UINT cbData)
Definition: shlobj_undoc.h:25
BOOL WINAPI SHDesktopMessageLoop(HANDLE)
STDMETHOD() QueryGuid(THIS_ ASSOCQUERY query, PCWSTR key, GUID *pguid) PURE
struct tagSLOTITEMDATA SLOTITEMDATA
STDMETHOD() QueryString(THIS_ ASSOCQUERY query, PCWSTR key, PWSTR *ppszValue) PURE
STDMETHOD() EnumElements(THIS_ ULONG flags, IEnumAssociationElements **ppElement) PURE
struct tagSLOTITEMDATA * PSLOTITEMDATA
tagWALK_TREE_CMD
Definition: shlobj_undoc.h:455
@ WALK_TREE_OPTION0
Definition: shlobj_undoc.h:456
@ WALK_TREE_OPTION1
Definition: shlobj_undoc.h:457
@ WALK_TREE_OPTION3
Definition: shlobj_undoc.h:459
@ WALK_TREE_OPTION2
Definition: shlobj_undoc.h:458
STDMETHOD() GetIconSize(THIS_ DWORD *piIcon) PURE
enum tagWALK_TREE_CMD WALK_TREE_CMD
STDMETHOD() Next(THIS_ ULONG celt, IAssociationElement *pElement, ULONG *pceltFetched) PURE
STDMETHOD() QueryObject(THIS_ ASSOCQUERY query, PCWSTR key, REFIID riid, PVOID *ppvObj) PURE
HRESULT WINAPI SHCreateFileDataObject(PCIDLIST_ABSOLUTE pidlFolder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, IDataObject *pDataInner, IDataObject **ppDataObj)
DWORD ASSOCQUERY
Definition: shlwapi_undoc.h:23
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
SHELLVIEWID vid
Definition: shlobj_undoc.h:147
FOLDERSETTINGS FolderSettings
Definition: shlobj_undoc.h:146
long newState1
Definition: shlobj_undoc.h:33
SHELLSTATE oldState
Definition: shlobj_undoc.h:32
long newState2
Definition: shlobj_undoc.h:34
Definition: copy.c:22
CLSID persistClass
Definition: shlobj_undoc.h:46
long browserIndex
Definition: shlobj_undoc.h:45
ULONG pidlSize
Definition: shlobj_undoc.h:47
INT GetSelectedItem(HWND hDlgCtrl)
uint16_t * PWSTR
Definition: typedefs.h:56
const uint16_t * PCWSTR
Definition: typedefs.h:57
void * PVOID
Definition: typedefs.h:50
uint32_t ULONG
Definition: typedefs.h:59
static int Save(const char **args)
Definition: vfdcmd.c:1851
_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
CONST void * LPCVOID
Definition: windef.h:191
#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:5743
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
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185