ReactOS 0.4.16-dev-1272-g2c12489
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_ PCWSTR pszPath) 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 HKEY_REGTREEOPTION_GRAYED ( (HKEY)INVALID_HANDLE_VALUE ) /* ROS extension */
463
464#define INTERFACE IRegTreeOptions
466{
467 /*** IUnknown ***/
471 /*** IRegTreeOptions ***/
472 STDMETHOD(InitTree)(THIS_ HWND hTV, HKEY hKey, LPCSTR SubKey, char const *pUnknown) PURE;
474 STDMETHOD(ToggleItem)(THIS_ HTREEITEM hTI) PURE;
475 STDMETHOD(ShowHelp)(THIS_ HTREEITEM hTI, unsigned long Unknown) PURE;
476};
477#undef INTERFACE
478
479#ifdef COBJMACROS
480#define IRegTreeOptions_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
481#define IRegTreeOptions_AddRef(T) (T)->lpVtbl->AddRef(T)
482#define IRegTreeOptions_Release(T) (T)->lpVtbl->Release(T)
483#define IRegTreeOptions_InitTree(T,a,b,c,d) (T)->lpVtbl->InitTree(T,a,b,c,d)
484#define IRegTreeOptions_WalkTree(T,a) (T)->lpVtbl->WalkTree(T,a)
485#define IRegTreeOptions_ToggleItem(T,a) (T)->lpVtbl->ToggleItem(T,a)
486#define IRegTreeOptions_ShowHelp(T,a,b) (T)->lpVtbl->ShowHelp(T,a,b)
487#endif
488
489/*****************************************************************************
490 * IBandNavigate interface
491 */
492#define INTERFACE IBandNavigate
494{
495 /*** IUnknown ***/
499 /*** IBandNavigate ***/
500 STDMETHOD(Select)(THIS_ LPCITEMIDLIST pidl) PURE;
501};
502#undef INTERFACE
503
504#ifdef COBJMACROS
505#define IBandNavigate_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
506#define IBandNavigate_AddRef(T) (T)->lpVtbl->AddRef(T)
507#define IBandNavigate_Release(T) (T)->lpVtbl->Release(T)
508#define IBandNavigate_Select(T,a) (T)->lpVtbl->Select(T,a)
509#endif
510
511/*****************************************************************************
512 * INamespaceProxy interface
513 */
514#define INTERFACE INamespaceProxy
516{
517 /*** IUnknown ***/
521 /*** INamespaceProxy ***/
522 STDMETHOD(GetNavigateTarget)(THIS_ _In_ PCIDLIST_ABSOLUTE pidl, _Out_ PIDLIST_ABSOLUTE *ppidlTarget, _Out_ ULONG *pulAttrib) PURE;
524 STDMETHOD(OnSelectionChanged)(THIS_ _In_ PCIDLIST_ABSOLUTE pidl) PURE;
525 STDMETHOD(RefreshFlags)(THIS_ _Out_ DWORD *pdwStyle, _Out_ DWORD *pdwExStyle, _Out_ DWORD *dwEnum) PURE;
526 STDMETHOD(CacheItem)(THIS_ _In_ PCIDLIST_ABSOLUTE pidl) PURE;
527};
528#undef INTERFACE
529
530#ifdef COBJMACROS
531#define INamespaceProxy_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
532#define INamespaceProxy_AddRef(T) (T)->lpVtbl->AddRef(T)
533#define INamespaceProxy_Release(T) (T)->lpVtbl->Release(T)
534#define INamespaceProxy_GetNavigateTarget(T,a,b,c) (T)->lpVtbl->GetNavigateTarget(T,a,b,c)
535#define INamespaceProxy_Invoke(T,a) (T)->lpVtbl->Invoke(T,a)
536#define INamespaceProxy_OnSelectionChanged(T,a) (T)->lpVtbl->OnSelectionChanged(T,a)
537#define INamespaceProxy_RefreshFlags(T,a,b,c) (T)->lpVtbl->RefreshFlags(T,a,b,c)
538#define INamespaceProxy_CacheItem(T,a) (T)->lpVtbl->CacheItem(T,a)
539#endif
540
541/*****************************************************************************
542 * IShellMenu2 interface
543 */
544#define INTERFACE IShellMenu2
546{
547 /*** IUnknown ***/
551 /*** IShellMenu ***/
553 STDMETHOD(GetMenuInfo)(THIS_ IShellMenuCallback **ppsmc, UINT *puId, UINT *puIdAncestor, DWORD *pdwFlags) PURE;
554 STDMETHOD(SetShellFolder)(THIS_ IShellFolder *psf, LPCITEMIDLIST pidlFolder, HKEY hKey, DWORD dwFlags) PURE;
555 STDMETHOD(GetShellFolder)(THIS_ DWORD *pdwFlags, LPITEMIDLIST *ppidl, REFIID riid, void **ppv) PURE;
557 STDMETHOD(GetMenu)(THIS_ HMENU *phmenu, HWND *phwnd, DWORD *pdwFlags) PURE;
558 STDMETHOD(InvalidateItem)(THIS_ LPSMDATA psmd, DWORD dwFlags) PURE;
560 STDMETHOD(SetMenuToolbar)(THIS_ IUnknown *punk, DWORD dwFlags) PURE;
561 /*** IShellMenu2 ***/
563 STDMETHOD(SetToolbar)(THIS) PURE;
564 STDMETHOD(SetMinWidth)(THIS) PURE;
565 STDMETHOD(SetNoBorder)(THIS) PURE;
566 STDMETHOD(SetTheme)(THIS) PURE;
567};
568#undef INTERFACE
569
570#ifdef COBJMACROS
571#define IShellMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
572#define IShellMenu2_AddRef(T) (T)->lpVtbl->AddRef(T)
573#define IShellMenu2_Release(T) (T)->lpVtbl->Release(T)
574#define IShellMenu2_Initialize(T,a,b,c,d) (T)->lpVtbl->Initialize(T,a,b,c,d)
575#define IShellMenu2_GetMenuInfo(T,a,b,c,d) (T)->lpVtbl->GetMenuInfo(T,a,b,c,d)
576#define IShellMenu2_SetShellFolder(T,a,b,c,d) (T)->lpVtbl->SetShellFolder(T,a,b,c,d)
577#define IShellMenu2_GetShellFolder(T,a,b,c,d) (T)->lpVtbl->GetShellFolder(T,a,b,c,d)
578#define IShellMenu2_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
579#define IShellMenu2_GetMenu(T,a,b,c) (T)->lpVtbl->GetMenu(T,a,b,c)
580#define IShellMenu2_InvalidateItem(T,a,b) (T)->lpVtbl->InvalidateItem(T,a,b)
581#define IShellMenu2_GetState(T,a) (T)->lpVtbl->GetState(T,a)
582#define IShellMenu2_SetMenuToolbar(T,a,b) (T)->lpVtbl->SetMenuToolbar(T,a,b)
583#define IShellMenu2_GetSubMenu(T) (T)->lpVtbl->GetSubMenu(T)
584#define IShellMenu2_SetToolbar(T) (T)->lpVtbl->SetToolbar(T)
585#define IShellMenu2_SetMinWidth(T) (T)->lpVtbl->SetMinWidth(T)
586#define IShellMenu2_SetNoBorder(T) (T)->lpVtbl->SetNoBorder(T)
587#define IShellMenu2_SetTheme(T) (T)->lpVtbl->SetTheme(T)
588#endif
589
590/*****************************************************************************
591 * IWinEventHandler interface
592 */
593#define INTERFACE IWinEventHandler
594DECLARE_INTERFACE_(IWinEventHandler, IUnknown)
595{
596 /*** IUnknown ***/
600 /*** IWinEventHandler ***/
601 STDMETHOD(OnWinEvent)(THIS_ HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) PURE;
602 STDMETHOD(IsWindowOwner)(THIS_ HWND hWnd) PURE;
603};
604#undef INTERFACE
605
606#ifdef COBJMACROS
607#define IWinEventHandler_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
608#define IWinEventHandler_AddRef(T) (T)->lpVtbl->AddRef(T)
609#define IWinEventHandler_Release(T) (T)->lpVtbl->Release(T)
610#define IWinEventHandler_OnWinEvent(T,a,b,c,d,e) (T)->lpVtbl->OnWinEvent(T,a,b,c,d,e)
611#define IWinEventHandler_IsWindowOwner(T,a) (T)->lpVtbl->IsWindowOwner(T,a)
612#endif
613
614/*****************************************************************************
615 * IAddressBand interface
616 */
617#define INTERFACE IAddressBand
619{
620 /*** IUnknown ***/
624 /*** IAddressBand ***/
625 STDMETHOD(FileSysChange)(THIS_ long param8, long paramC) PURE;
626 STDMETHOD(Refresh)(THIS_ long param8) PURE;
627};
628#undef INTERFACE
629
630#ifdef COBJMACROS
631#define IAddressBand_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
632#define IAddressBand_AddRef(T) (T)->lpVtbl->AddRef(T)
633#define IAddressBand_Release(T) (T)->lpVtbl->Release(T)
634#define IAddressBand_FileSysChange(T,a,b) (T)->lpVtbl->FileSysChange(T,a,b)
635#define IAddressBand_Refresh(T,a) (T)->lpVtbl->Refresh(T,a)
636#endif
637
638/*****************************************************************************
639 * IShellMenuAcc interface
640 */
641#define INTERFACE IShellMenuAcc
643{
644 /*** IUnknown ***/
648 /*** IShellMenuAcc ***/
649 STDMETHOD(GetTop)(THIS) PURE;
650 STDMETHOD(GetBottom)(THIS) PURE;
651 STDMETHOD(GetTracked)(THIS) PURE;
652 STDMETHOD(GetParentSite)(THIS) PURE;
654 STDMETHOD(DoDefaultAction)(THIS) PURE;
657};
658#undef INTERFACE
659
660#ifdef COBJMACROS
661#define IShellMenuAcc_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
662#define IShellMenuAcc_AddRef(T) (T)->lpVtbl->AddRef(T)
663#define IShellMenuAcc_Release(T) (T)->lpVtbl->Release(T)
664#define IShellMenuAcc_GetTop(T) (T)->lpVtbl->GetTop(T)
665#define IShellMenuAcc_GetBottom(T) (T)->lpVtbl->GetBottom(T)
666#define IShellMenuAcc_GetTracked(T) (T)->lpVtbl->GetTracked(T)
667#define IShellMenuAcc_GetParentSite(T) (T)->lpVtbl->GetParentSite(T)
668#define IShellMenuAcc_GetState(T) (T)->lpVtbl->GetState(T)
669#define IShellMenuAcc_DoDefaultAction(T) (T)->lpVtbl->DoDefaultAction(T)
670#define IShellMenuAcc_GetSubMenu(T) (T)->lpVtbl->GetSubMenu(T)
671#define IShellMenuAcc_IsEmpty(T) (T)->lpVtbl->IsEmpty(T)
672#endif
673
674/*****************************************************************************
675 * IAddressBand interface
676 */
677#define INTERFACE IBandSiteHelper
679{
680 /*** IUnknown ***/
684 /*** IBandSiteHelper ***/
685 STDMETHOD(LoadFromStreamBS)(THIS_ IStream *, REFGUID, void **) PURE;
686 STDMETHOD(SaveToStreamBS)(THIS_ IUnknown *, IStream *) PURE;
687};
688#undef INTERFACE
689
690#ifdef COBJMACROS
691#define IBandSiteHelper_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
692#define IBandSiteHelper_AddRef(T) (T)->lpVtbl->AddRef(T)
693#define IBandSiteHelper_Release(T) (T)->lpVtbl->Release(T)
694#define IBandSiteHelper_LoadFromStreamBS(T,a,b) (T)->lpVtbl->LoadFromStreamBS(T,a,b)
695#define IBandSiteHelper_SaveToStreamBS(T,a,b) (T)->lpVtbl->SaveToStreamBS(T,a,b)
696#endif
697
698/*****************************************************************************
699 * IAddressBand interface
700 */
701#define INTERFACE IShellBrowserService
702DECLARE_INTERFACE_(IShellBrowserService, IUnknown)
703{
704 /*** IUnknown ***/
708 /*** IShellBrowserService ***/
709 STDMETHOD(GetPropertyBag)(THIS_ long flags, REFIID riid, void **ppvObject) PURE;
710};
711#undef INTERFACE
712
713#ifdef COBJMACROS
714#define IShellBrowserService_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
715#define IShellBrowserService_AddRef(T) (T)->lpVtbl->AddRef(T)
716#define IShellBrowserService_Release(T) (T)->lpVtbl->Release(T)
717#define IShellBrowserService_GetPropertyBag(T,a,b,c) (T)->lpVtbl->GetPropertyBag(T,a,b,c)
718#endif
719
720/*****************************************************************************
721 * IMruDataList interface
722 */
723#define INTERFACE IMruDataList
725{
726 /*** IUnknown ***/
730 /*** IMruDataList ***/
733 STDMETHOD(FindData)(THIS_ LPCVOID , DWORD, UINT*) PURE;
735 STDMETHOD(QueryInfo)(THIS_ UINT, UINT*, DWORD*) PURE;
737};
738#undef INTERFACE
739
740#ifdef COBJMACROS
741#define IMruDataList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
742#define IMruDataList_AddRef(T) (T)->lpVtbl->AddRef(T)
743#define IMruDataList_Release(T) (T)->lpVtbl->Release(T)
744#define IMruDataList_InitData(T,a,b,c,d,e) (T)->lpVtbl->InitData(T,a,b,c,d,e)
745#define IMruDataList_AddData(T,a,b,c) (T)->lpVtbl->AddData(T,a,b,c)
746#define IMruDataList_FindData(T,a,b,c) (T)->lpVtbl->FindData(T,a,b,c)
747#define IMruDataList_GetData(T,a,b,c) (T)->lpVtbl->GetData(T,a,b,c)
748#define IMruDataList_QueryInfo(T,a,b,c) (T)->lpVtbl->QueryInfo(T,a,b,c)
749#define IMruDataList_Delete(T,a) (T)->lpVtbl->Delete(T,a)
750#endif
751
752/*****************************************************************************
753 * IMruPidlList interface
754 */
755#define INTERFACE IMruPidlList
757{
758 /*** IUnknown ***/
762 /*** IMruPidlList ***/
763 STDMETHOD(InitList)(THIS_ UINT, HKEY, LPCWSTR) PURE;
765 STDMETHOD(QueryPidl)(THIS_ LPCITEMIDLIST, UINT, UINT*, UINT*) PURE;
766 STDMETHOD(PruneKids)(THIS_ LPCITEMIDLIST) PURE;
767};
768#undef INTERFACE
769
770#ifdef COBJMACROS
771#define IMruPidlList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
772#define IMruPidlList_AddRef(T) (T)->lpVtbl->AddRef(T)
773#define IMruPidlList_Release(T) (T)->lpVtbl->Release(T)
774#define IMruPidlList_InitList(T,a,b,c) (T)->lpVtbl->InitList(T,a,b,c)
775#define IMruPidlList_UsePidl(T,a,b) (T)->lpVtbl->UsePidl(T,a,b)
776#define IMruPidlList_QueryPidl(T,a,b,c,d) (T)->lpVtbl->QueryPidl(T,a,b,c,d)
777#define IMruPidlList_PruneKids(T,a) (T)->lpVtbl->PruneKids(T,a)
778#endif
779
780/*****************************************************************************
781 * ITrayPriv interface
782 */
783#define INTERFACE ITrayPriv
785{
786 /*** IUnknown ***/
790 /*** IOleWindow methods ***/
792 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
793 /*** ITrayPriv ***/
797};
798#undef INTERFACE
799
800#ifdef COBJMACROS
801#define ITrayPriv_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
802#define ITrayPriv_AddRef(T) (T)->lpVtbl->AddRef(T)
803#define ITrayPriv_Release(T) (T)->lpVtbl->Release(T)
804#define ITrayPriv_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
805#define ITrayPriv_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
806#define ITrayPriv_Execute(T,a,b) (T)->lpVtbl->Execute(T,a,b)
807#define ITrayPriv_Unknown(T,a,b,c,d) (T)->lpVtbl->Unknown(T,a,b,c,d)
808#define ITrayPriv_AppendMenu(T,a) (T)->lpVtbl->AppendMenu(T,a)
809#endif
810
811/*****************************************************************************
812 * IAssociationElement interface
813 *
814 * @see IAssociationElementOld
815 * @see https://www.geoffchappell.com/studies/windows/shell/shlwapi/interfaces/iassociationelement.htm
816 */
817#define INTERFACE IAssociationElement
818DECLARE_INTERFACE_(IAssociationElement, IUnknown) // {D8F6AD5B-B44F-4BCC-88FD-EB3473DB7502}
819{
820 /*** IUnknown ***/
824 /*** IAssociationElement ***/
829 STDMETHOD(QueryDirect)(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE;
831};
832#undef INTERFACE
833
834#ifdef COBJMACROS
835#define IAssociationElement_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
836#define IAssociationElement_AddRef(T) (T)->lpVtbl->AddRef(T)
837#define IAssociationElement_Release(T) (T)->lpVtbl->Release(T)
838#define IAssociationElement_QueryString(T,a,b,c) (T)->lpVtbl->QueryString(T,a,b,c)
839#define IAssociationElement_QueryDword(T,a,b,c) (T)->lpVtbl->QueryDword(T,a,b,c)
840#define IAssociationElement_QueryGuid(T,a,b,c) (T)->lpVtbl->QueryGuid(T,a,b,c)
841#define IAssociationElement_QueryExists(T,a,b) (T)->lpVtbl->QueryExists(T,a,b)
842#define IAssociationElement_QueryDirect(T,a,b,c) (T)->lpVtbl->QueryDirect(T,a,b,c)
843#define IAssociationElement_QueryObject(T,a,b,c,d) (T)->lpVtbl->QueryObject(T,a,b,c,d)
844#endif
845
846/*****************************************************************************
847 * IEnumAssociationElements interface
848 *
849 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/ienumassociationelements.htm
850 */
851#define INTERFACE IEnumAssociationElements
852DECLARE_INTERFACE_(IEnumAssociationElements, IUnknown) // {A6B0FB57-7523-4439-9425-EBE99823B828}
853{
854 /*** IUnknown ***/
858 /*** IEnumAssociationElements ***/
859 STDMETHOD(Next)(THIS_ ULONG celt, IAssociationElement *pElement, ULONG *pceltFetched) PURE;
862 STDMETHOD(Clone)(THIS_ IEnumAssociationElements **ppNew) PURE;
863};
864#undef INTERFACE
865
866#ifdef COBJMACROS
867#define IEnumAssociationElements_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
868#define IEnumAssociationElements_AddRef(T) (T)->lpVtbl->AddRef(T)
869#define IEnumAssociationElements_Release(T) (T)->lpVtbl->Release(T)
870#define IEnumAssociationElements_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
871#define IEnumAssociationElements_Skip(T,a) (T)->lpVtbl->Skip(T,a)
872#define IEnumAssociationElements_Reset(T) (T)->lpVtbl->Reset(T)
873#define IEnumAssociationElements_Clone(T,a) (T)->lpVtbl->Clone(T,a)
874#endif
875
876/*****************************************************************************
877 * IAssociationArrayOld interface
878 *
879 * @see IAssociationArray
880 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/iassociationarray.htm
881 */
882#define INTERFACE IAssociationArrayOld
883DECLARE_INTERFACE_(IAssociationArrayOld, IUnknown) // {3B877E3C-67DE-4F9A-B29B-17D0A1521C6A}
884{
885 /*** IUnknown ***/
889 /*** IAssociationArrayOld ***/
890 STDMETHOD(EnumElements)(THIS_ ULONG flags, IEnumAssociationElements **ppElement) PURE;
896};
897#undef INTERFACE
898
899#ifdef COBJMACROS
900#define IAssociationArrayOld_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
901#define IAssociationArrayOld_AddRef(T) (T)->lpVtbl->AddRef(T)
902#define IAssociationArrayOld_Release(T) (T)->lpVtbl->Release(T)
903#define IAssociationArrayOld_EnumElements(T,a,b) (T)->lpVtbl->EnumElements(T,a,b)
904#define IAssociationArrayOld_QueryString(T,a,b,c,d) (T)->lpVtbl->QueryString(T,a,b,c,d)
905#define IAssociationArrayOld_QueryDword(T,a,b,c,d) (T)->lpVtbl->QueryDword(T,a,b,c,d)
906#define IAssociationArrayOld_QueryExists(T,a,b,c) (T)->lpVtbl->QueryExists(T,a,b,c)
907#define IAssociationArrayOld_QueryDirect(T,a,b,c,d) (T)->lpVtbl->QueryDirect(T,a,b,c,d)
908#define IAssociationArrayOld_QueryObject(T,a,b,c,d,e) (T)->lpVtbl->QueryObject(T,a,b,c,d,e)
909#endif
910
911/*****************************************************************************
912 * IAssociationArray interface
913 *
914 * @see IAssociationArrayOld
915 * @see https://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/iassociationarray.htm
916 */
917#define INTERFACE IAssociationArray
918DECLARE_INTERFACE_(IAssociationArray, IUnknown) // {19ADBAFD-1C5F-4FC7-94EE-846702DFB58B}
919{
920 /*** IUnknown ***/
924 /*** IAssociationArray ***/
929 STDMETHOD(QueryDirect)(THIS_ ASSOCQUERY query, PCWSTR key, FLAGGED_BYTE_BLOB **ppBlob) PURE;
931};
932#undef INTERFACE
933
934#ifdef COBJMACROS
935#define IAssociationArray_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
936#define IAssociationArray_AddRef(T) (T)->lpVtbl->AddRef(T)
937#define IAssociationArray_Release(T) (T)->lpVtbl->Release(T)
938#define IAssociationArray_QueryString(T,a,b,c) (T)->lpVtbl->QueryString(T,a,b,c)
939#define IAssociationArray_QueryDword(T,a,b,c) (T)->lpVtbl->QueryDword(T,a,b,c)
940#define IAssociationArray_QueryGuid(T,a,b,c) (T)->lpVtbl->QueryGuid(T,a,b,c)
941#define IAssociationArray_QueryExists(T,a,b) (T)->lpVtbl->QueryExists(T,a,b)
942#define IAssociationArray_QueryDirect(T,a,b,c) (T)->lpVtbl->QueryDirect(T,a,b,c)
943#define IAssociationArray_QueryObject(T,a,b,c,d) (T)->lpVtbl->QueryObject(T,a,b,c,d)
944#endif
945
946HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*);
949
950#ifdef __cplusplus
951} /* extern "C" */
952#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:345
#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
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
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
static void WalkTree(WALK_TREE_CMD Command, HWND hTree, HTREEITEM hTI)
void ShowHelp()
Definition: sdbinst.c:809
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
@ BMICON_SMALL
Definition: shlobj_undoc.h:110
@ BMICON_LARGE
Definition: shlobj_undoc.h:109
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_REFRESH
Definition: shlobj_undoc.h:459
@ WALK_TREE_DESTROY
Definition: shlobj_undoc.h:457
@ WALK_TREE_DEFAULT
Definition: shlobj_undoc.h:458
@ WALK_TREE_SAVE
Definition: shlobj_undoc.h:456
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
Definition: shell.h:41
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:5816
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 * LPCSTR
Definition: xmlstorage.h:183
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185