2 * COM interfaces for shell objects
4 * Copyright (C) 1999 Juergen Schmied
5 * Copyright (C) 2003 Alexandre Julliard
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.
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.
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
27 import "servprov.idl";
30 /* FIXME: import "prsht.idl";*/
33 /* FIXME: import "propsys.idl"; */
34 /* FIXME: import "structuredquery.idl"; */
36 cpp_quote("/* FIXME: #include <sherrors.h> */")
39 /*****************************************************************************
40 * IPersistFolder interface
44 uuid(000214ea-0000-0000-c000-000000000046),
45 pointer_default(unique)
47 interface IPersistFolder : IPersist
49 typedef IPersistFolder *LPPERSISTFOLDER;
51 HRESULT Initialize( [in] LPCITEMIDLIST pidl );
55 /*****************************************************************************
56 * IPersistFolder2 interface
60 uuid(1ac3d9f0-175c-11d1-95be-00609797ea4f),
61 pointer_default(unique)
63 interface IPersistFolder2 : IPersistFolder
65 typedef IPersistFolder2 *LPPERSISTFOLDER2;
67 HRESULT GetCurFolder( [out] LPITEMIDLIST *ppidl );
71 /*****************************************************************************
72 * IPersistIDList interface
76 uuid(1079acfc-29bd-11d3-8e0d-00c04f6837d5),
77 pointer_default(unique)
79 interface IPersistIDList : IPersist
81 HRESULT SetIDList( [in] LPCITEMIDLIST pidl );
82 HRESULT GetIDList( [out] LPITEMIDLIST *ppidl );
86 /*****************************************************************************
87 * IEnumIDList interface
91 uuid(000214f2-0000-0000-c000-000000000046),
92 pointer_default(unique)
94 interface IEnumIDList : IUnknown
96 typedef IEnumIDList *LPENUMIDLIST;
100 [out, size_is(celt), length_is(*pceltFetched)] LPITEMIDLIST *rgelt,
101 [out] ULONG *pceltFetched);
103 HRESULT Skip( [in] ULONG celt );
105 HRESULT Clone( [out] IEnumIDList **ppenum );
108 /*****************************************************************************
109 * IShellPropSheetExt interface
112 typedef LPARAM LPFNSVADDPROPSHEETPAGE;
114 cpp_quote("#include <prsht.h>")
115 cpp_quote("typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;")
120 uuid(000214E9-0000-0000-C000-000000000046),
121 pointer_default(unique)
123 interface IShellPropSheetExt : IUnknown
125 enum tagSHELLPROPSHEETEXTPAGEID {
126 EXPPS_FILETYPES = 0x1
132 [in] LPFNSVADDPROPSHEETPAGE pfnAddPage,
136 [in] LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
139 typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
141 /*****************************************************************************
142 * IShellFolder interface
146 uuid(000214e6-0000-0000-c000-000000000046),
147 pointer_default(unique)
149 interface IShellFolder : IUnknown
151 typedef IShellFolder * LPSHELLFOLDER;
153 typedef enum tagSHGDN
157 SHGDN_FOREDITING = 0x1000,
158 SHGDN_INCLUDE_NONFILESYS = 0x2000,
159 SHGDN_FORADDRESSBAR = 0x4000,
160 SHGDN_FORPARSING = 0x8000
163 typedef DWORD SHGDNF;
167 SHCONTF_FOLDERS = 32,
168 SHCONTF_NONFOLDERS = 64,
169 SHCONTF_INCLUDEHIDDEN = 128,
170 SHCONTF_INIT_ON_FIRST_NEXT = 256,
171 SHCONTF_NETPRINTERSRCH = 512,
172 SHCONTF_SHAREABLE = 1024,
173 SHCONTF_STORAGE = 2048
176 typedef DWORD SHCONTF;
178 cpp_quote("#define SHCIDS_ALLFIELDS 0x80000000L")
179 cpp_quote("#define SHCIDS_CANONICALONLY 0x10000000L")
180 cpp_quote("#define SHCIDS_BITMASK 0xFFFF0000L")
181 cpp_quote("#define SHCIDS_COLUMNMASK 0x0000FFFFL")
182 cpp_quote("#define SFGAO_CANCOPY DROPEFFECT_COPY")
183 cpp_quote("#define SFGAO_CANMOVE DROPEFFECT_MOVE")
184 cpp_quote("#define SFGAO_CANLINK DROPEFFECT_LINK")
185 cpp_quote("#define SFGAO_STORAGE 0x00000008L")
186 cpp_quote("#define SFGAO_CANRENAME 0x00000010L")
187 cpp_quote("#define SFGAO_CANDELETE 0x00000020L")
188 cpp_quote("#define SFGAO_HASPROPSHEET 0x00000040L")
189 cpp_quote("#define SFGAO_DROPTARGET 0x00000100L")
190 cpp_quote("#define SFGAO_CAPABILITYMASK 0x00000177L")
191 cpp_quote("#define SFGAO_ENCRYPTED 0x00002000L")
192 cpp_quote("#define SFGAO_ISSLOW 0x00004000L")
193 cpp_quote("#define SFGAO_GHOSTED 0x00008000L")
194 cpp_quote("#define SFGAO_LINK 0x00010000L")
195 cpp_quote("#define SFGAO_SHARE 0x00020000L")
196 cpp_quote("#define SFGAO_READONLY 0x00040000L")
197 cpp_quote("#define SFGAO_HIDDEN 0x00080000L")
198 cpp_quote("#define SFGAO_DISPLAYATTRMASK 0x000FC000L")
199 cpp_quote("#define SFGAO_FILESYSANCESTOR 0x10000000L")
200 cpp_quote("#define SFGAO_FOLDER 0x20000000L")
201 cpp_quote("#define SFGAO_FILESYSTEM 0x40000000L")
202 cpp_quote("#define SFGAO_HASSUBFOLDER 0x80000000L")
203 cpp_quote("#define SFGAO_CONTENTSMASK 0x80000000L")
204 cpp_quote("#define SFGAO_VALIDATE 0x01000000L")
205 cpp_quote("#define SFGAO_REMOVABLE 0x02000000L")
206 cpp_quote("#define SFGAO_COMPRESSED 0x04000000L")
207 cpp_quote("#define SFGAO_BROWSABLE 0x08000000L")
208 cpp_quote("#define SFGAO_NONENUMERATED 0x00100000L")
209 cpp_quote("#define SFGAO_NEWCONTENT 0x00200000L")
210 cpp_quote("#define SFGAO_STREAM 0x00400000L")
211 cpp_quote("#define SFGAO_STORAGEANCESTOR 0x00800000L")
213 typedef ULONG SFGAOF;
215 HRESULT ParseDisplayName(
217 [in] LPBC pbcReserved,
218 [in, string] LPOLESTR lpszDisplayName,
219 [out] ULONG *pchEaten,
220 [out] LPITEMIDLIST *ppidl,
221 [in, out, unique] ULONG *pdwAttributes);
225 [in] SHCONTF grfFlags,
226 [out] IEnumIDList **ppenumIDList);
228 HRESULT BindToObject(
229 [in] LPCITEMIDLIST pidl,
230 [in] LPBC pbcReserved,
232 [out, iid_is(riid)] void **ppvOut);
234 HRESULT BindToStorage(
235 [in] LPCITEMIDLIST pidl,
236 [in] LPBC pbcReserved,
238 [out, iid_is(riid)] void **ppvObj);
242 [in] LPCITEMIDLIST pidl1,
243 [in] LPCITEMIDLIST pidl2);
245 HRESULT CreateViewObject(
248 [out, iid_is(riid)] void **ppvOut);
250 HRESULT GetAttributesOf(
252 [in, size_is(cidl)] LPCITEMIDLIST *apidl,
253 [in, out] SFGAOF *rgfInOut);
255 HRESULT GetUIObjectOf(
258 [in, size_is(cidl)] LPCITEMIDLIST *apidl,
260 [in, out, unique] UINT *prgfInOut,
261 [out, iid_is(riid)] void **ppvOut);
263 HRESULT GetDisplayNameOf(
264 [in] LPCITEMIDLIST pidl,
266 [out] STRRET *lpName);
270 [in] LPCITEMIDLIST pidl,
271 [in, string] LPCOLESTR lpszName,
273 [out] LPITEMIDLIST *ppidlOut);
277 /*****************************************************************************
278 * IEnumExtraSearch interface
282 uuid(0e700be1-9db6-11d1-a1ce-00c04fd75d13),
283 pointer_default(unique)
285 interface IEnumExtraSearch : IUnknown
287 typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
292 WCHAR wszFriendlyName[80];
294 *WCHAR wszMenuText[80];
295 *WCHAR wszHelpText[MAX_PATH];
299 *WCHAR wszIcon[MAX_PATH+10];
300 *WCHAR wszGreyIcon[MAX_PATH+10];
301 *WCHAR wszClrIcon[MAX_PATH+10];
303 } EXTRASEARCH, *LPEXTRASEARCH;
307 [out, size_is(celt), length_is(*pceltFetched)] EXTRASEARCH *rgelt,
308 [out] ULONG *pceltFetched);
310 HRESULT Skip( [in] ULONG celt );
312 HRESULT Clone( [out] IEnumExtraSearch **ppenum );
316 /*****************************************************************************
317 * IShellFolder2 interface
321 uuid(93f2f68c-1d1b-11d3-a30e-00c04f79abd1),
322 pointer_default(unique)
324 interface IShellFolder2 : IShellFolder
330 } SHCOLUMNID, *LPSHCOLUMNID;
331 typedef const SHCOLUMNID *LPCSHCOLUMNID;
333 HRESULT GetDefaultSearchGUID( [out] GUID *lpguid );
334 HRESULT EnumSearches( [out] IEnumExtraSearch **ppenum );
335 HRESULT GetDefaultColumn( [in] DWORD dwReserved, [out] ULONG *pSort, [out] ULONG *pDisplay );
336 HRESULT GetDefaultColumnState( [in] UINT iColumn, [out] SHCOLSTATEF *pcsFlags );
337 HRESULT GetDetailsEx( [in] LPCITEMIDLIST pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv);
338 HRESULT GetDetailsOf( [in] LPCITEMIDLIST pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd);
339 HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid );
342 /*****************************************************************************
343 * IShellItem interface
347 uuid(43826d1e-e718-42ee-bc55-a1e261c37bfe),
348 pointer_default(unique)
350 interface IShellItem : IUnknown
354 typedef DWORD SICHINTF;
356 HRESULT BindToHandler(
360 [out, iid_is(riid)] void **ppvOut);
362 HRESULT GetParent( [out] IShellItem **ppsi );
364 HRESULT GetDisplayName(
365 [in] SIGDN sigdnName,
366 [out] LPWSTR *ppszName);
368 HRESULT GetAttributes(
369 [in] SFGAOF sfgaoMask,
370 [out] SFGAOF *psfgaoAttribs);
373 [in] IShellItem *psi,
378 /*****************************************************************************
381 typedef char *LPVIEWSETTINGS;
385 FWF_AUTOARRANGE = 0x00000001,
386 FWF_ABBREVIATEDNAMES = 0x00000002,
387 FWF_SNAPTOGRID = 0x00000004,
388 FWF_OWNERDATA = 0x00000008,
389 FWF_BESTFITWINDOW = 0x00000010,
390 FWF_DESKTOP = 0x00000020,
391 FWF_SINGLESEL = 0x00000040,
392 FWF_NOSUBFOLDERS = 0x00000080,
393 FWF_TRANSPARENT = 0x00000100,
394 FWF_NOCLIENTEDGE = 0x00000200,
395 FWF_NOSCROLL = 0x00000400,
396 FWF_ALIGNLEFT = 0x00000800,
397 FWF_NOICONS = 0x00001000,
398 FWF_SHOWSELALWAYS = 0x00002000,
399 FWF_NOVISIBLE = 0x00004000,
400 FWF_SINGLECLICKACTIVATE = 0x00008000,
401 FWF_NOWEBVIEW = 0x00010000,
402 FWF_HIDEFILENAMES = 0x00020000,
403 FWF_CHECKSELECT = 0x00040000
409 FVM_FIRST = FVM_ICON,
416 FVM_LAST = FVM_THUMBSTRIP
423 } FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS;
424 typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
427 /*****************************************************************************
428 * IShellView interface
430 interface IShellBrowser; /* forward declaration */
433 uuid(000214e3-0000-0000-c000-000000000046),
434 pointer_default(unique)
436 interface IShellView : IOleWindow
438 typedef IShellView *LPSHELLVIEW;
440 cpp_quote("#define SVSI_DESELECT 0x00000000")
441 cpp_quote("#define SVSI_SELECT 0x00000001")
442 cpp_quote("#define SVSI_EDIT 0x00000003")
443 cpp_quote("#define SVSI_DESELECTOTHERS 0x00000004")
444 cpp_quote("#define SVSI_ENSUREVISIBLE 0x00000008")
445 cpp_quote("#define SVSI_FOCUSED 0x00000010")
446 cpp_quote("#define SVSI_TRANSLATEPT 0x00000020")
447 cpp_quote("#define SVSI_SELECTIONMARK 0x00000040")
448 cpp_quote("#define SVSI_POSITIONITEM 0x00000080")
449 cpp_quote("#define SVSI_CHECK 0x00000100")
450 cpp_quote("#define SVSI_NOSTATECHANGE 0x80000000")
456 SVGIO_BACKGROUND = 0x00000000,
457 SVGIO_SELECTION = 0x00000001,
458 SVGIO_ALLVIEW = 0x00000002,
459 SVGIO_CHECKED = 0x00000003,
460 SVGIO_TYPE_MASK = 0x0000000f,
461 SVGIO_FLAG_VIEWORDER = 0x80000000,
466 SVUIA_DEACTIVATE = 0,
467 SVUIA_ACTIVATE_NOFOCUS = 1,
468 SVUIA_ACTIVATE_FOCUS = 2,
469 SVUIA_INPLACEACTIVATE = 3
472 HRESULT TranslateAccelerator( [in] MSG *pmsg );
473 HRESULT EnableModeless( [in] BOOL fEnable );
474 HRESULT UIActivate( [in] UINT uState );
476 HRESULT CreateViewWindow(
477 [in] IShellView *psvPrevious,
478 [in] LPCFOLDERSETTINGS lpfs,
479 [in] IShellBrowser *psb,
483 HRESULT DestroyViewWindow();
484 HRESULT GetCurrentInfo( [out] LPFOLDERSETTINGS lpfs );
486 [local] HRESULT AddPropertySheetPages(
487 [in] DWORD dwReserved,
488 [in] LPFNSVADDPROPSHEETPAGE pfn,
491 HRESULT SaveViewState();
493 [in] LPCITEMIDLIST pidlItem,
495 HRESULT GetItemObject(
498 [out, iid_is(riid)] void **ppv);
503 uuid(88E39E80-3578-11CF-AE69-08002B2E1262),
505 pointer_default(unique)
507 interface IShellView2 : IShellView
509 typedef GUID SHELLVIEWID;
511 cpp_quote("#define SV2GV_CURRENTVIEW ((UINT)-1)")
512 cpp_quote("#define SV2GV_DEFAULTVIEW ((UINT)-2)")
514 cpp_quote("#include <pshpack8.h>")
515 typedef struct _SV2CVW2_PARAMS
520 LPCFOLDERSETTINGS pfs;
521 IShellBrowser *psbOwner;
523 SHELLVIEWID const *pvid;
526 } SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS;
528 cpp_quote("#include <poppack.h>")
531 [in, out] SHELLVIEWID* pvid,
534 HRESULT CreateViewWindow2(
535 [in] LPSV2CVW2_PARAMS lpParams);
537 HRESULT HandleRename(
538 [in, unique] PCUITEMID_CHILD pidlNew);
540 HRESULT SelectAndPositionItem(
541 [in] PCUITEMID_CHILD pidlItem,
543 [in, unique] POINT *ppt);
548 uuid(ec39fa88-f8af-41c5-8421-38bed28f4673),
550 pointer_default(unique)
552 interface IShellView3 : IShellView2
556 SV3CVW3_DEFAULT = 0x00000000,
557 SV3CVW3_NONINTERACTIVE = 0x00000001,
558 SV3CVW3_FORCEVIEWMODE = 0x00000002,
559 SV3CVW3_FORCEFOLDERFLAGS = 0x00000004,
561 typedef DWORD SV3CVW3_FLAGS;
563 HRESULT CreateViewWindow3(
564 [in] IShellBrowser *psbOwner,
565 [in, unique] IShellView *psvPrev,
566 [in] SV3CVW3_FLAGS dwViewFlags,
567 [in] FOLDERFLAGS dwMask,
568 [in] FOLDERFLAGS dwFlags,
569 [in] FOLDERVIEWMODE fvMode,
570 [in, unique] const SHELLVIEWID *pvid,
571 [in] const RECT *prcView,
572 [out] HWND *phwndView);
576 /*****************************************************************************
577 * IShellBrowser interface
581 uuid(000214e2-0000-0000-c000-000000000046),
582 pointer_default(unique)
584 interface IShellBrowser : IOleWindow
586 typedef IShellBrowser *LPSHELLBROWSER;
588 cpp_quote("#define SBSP_DEFBROWSER 0x00000000")
589 cpp_quote("#define SBSP_SAMEBROWSER 0x00000001")
590 cpp_quote("#define SBSP_NEWBROWSER 0x00000002")
591 cpp_quote("#define SBSP_DEFMODE 0x00000000")
592 cpp_quote("#define SBSP_OPENMODE 0x00000010")
593 cpp_quote("#define SBSP_EXPLOREMODE 0x00000020")
594 cpp_quote("#define SBSP_HELPMODE 0x00000040")
595 cpp_quote("#define SBSP_NOTRANSFERHIST 0x00000080")
596 cpp_quote("#define SBSP_ABSOLUTE 0x00000000")
597 cpp_quote("#define SBSP_RELATIVE 0x00001000")
598 cpp_quote("#define SBSP_PARENT 0x00002000")
599 cpp_quote("#define SBSP_NAVIGATEBACK 0x00004000")
600 cpp_quote("#define SBSP_NAVIGATEFORWARD 0x00008000")
601 cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000")
602 cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000")
603 cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000")
604 cpp_quote("#define SBSP_REDIRECT 0x40000000")
605 cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000")
607 cpp_quote("#define FCW_STATUS 0x0001")
608 cpp_quote("#define FCW_TOOLBAR 0x0002")
609 cpp_quote("#define FCW_TREE 0x0003")
610 cpp_quote("#define FCW_INTERNETBAR 0x0006")
611 cpp_quote("#define FCW_PROGRESS 0x0008")
613 cpp_quote("#define FCT_MERGE 0x0001")
614 cpp_quote("#define FCT_CONFIGABLE 0x0002")
615 cpp_quote("#define FCT_ADDTOEND 0x0004")
618 typedef LPARAM LPTBBUTTONSB;
620 cpp_quote("#include <commctrl.h>")
621 cpp_quote("typedef LPTBBUTTON LPTBBUTTONSB;")
624 HRESULT InsertMenusSB(
625 [in] HMENU hmenuShared,
626 [in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths);
629 [in] HMENU hmenuShared,
630 [in] HOLEMENU holemenuReserved,
631 [in] HWND hwndActiveObject);
633 HRESULT RemoveMenusSB( [in] HMENU hmenuShared );
634 HRESULT SetStatusTextSB( [in, unique] LPCOLESTR pszStatusText );
635 HRESULT EnableModelessSB( [in] BOOL fEnable );
636 HRESULT TranslateAcceleratorSB( [in] MSG *pmsg, [in] WORD wID );
638 HRESULT BrowseObject(
639 [in] LPCITEMIDLIST pidl,
642 HRESULT GetViewStateStream(
644 [out] IStream **ppStrm);
646 HRESULT GetControlWindow(
650 [local] HRESULT SendControlMsg(
657 HRESULT QueryActiveShellView( [out] IShellView **ppshv );
658 HRESULT OnViewWindowActive( [in] IShellView *pshv );
661 HRESULT SetToolbarItems(
662 [in] LPTBBUTTONSB lpButtons,
668 /*****************************************************************************
669 * IShellLinkA interface
673 uuid(000214ee-0000-0000-c000-000000000046),
674 pointer_default(unique)
676 interface IShellLinkA : IUnknown
681 SLR_ANY_MATCH = 0x0002,
683 SLR_NOUPDATE = 0x0008,
684 SLR_NOSEARCH = 0x0010,
685 SLR_NOTRACK = 0x0020,
686 SLR_NOLINKINFO = 0x0040,
687 SLR_INVOKE_MSI = 0x0080,
688 SLR_NO_UI_WITH_MSG_PUMP = 0x0101,
693 SLGP_SHORTPATH = 0x0001,
694 SLGP_UNCPRIORITY = 0x0002,
695 SLGP_RAWPATH = 0x0004,
699 [out, size_is(cch)] LPSTR pszFile,
701 [in, out] WIN32_FIND_DATAA *pfd,
704 HRESULT GetIDList( [out] LPITEMIDLIST * ppidl );
706 HRESULT SetIDList( [in] LPCITEMIDLIST pidl );
708 HRESULT GetDescription(
709 [out, size_is(cch)] LPSTR pszName,
712 HRESULT SetDescription( [in] LPCSTR pszName );
714 HRESULT GetWorkingDirectory(
715 [out, size_is(cch)] LPSTR pszDir,
718 HRESULT SetWorkingDirectory( [in] LPCSTR pszDir );
720 HRESULT GetArguments(
721 [out, size_is(cch)] LPSTR pszArgs,
724 HRESULT SetArguments( [in] LPCSTR pszArgs );
726 HRESULT GetHotkey( [out] WORD *pwHotkey );
728 HRESULT SetHotkey( [in] WORD wHotkey );
730 HRESULT GetShowCmd( [out] int *piShowCmd );
732 HRESULT SetShowCmd( [in] int iShowCmd );
734 HRESULT GetIconLocation(
735 [out, size_is(cch)] LPSTR pszIconPath,
739 HRESULT SetIconLocation(
740 [in] LPCSTR pszIconPath,
743 HRESULT SetRelativePath(
744 [in] LPCSTR pszPathRel,
745 [in] DWORD dwReserved);
751 HRESULT SetPath( [in] LPCSTR pszFile );
755 /*****************************************************************************
756 * IShellLinkW interface
760 uuid(000214f9-0000-0000-c000-000000000046),
761 pointer_default(unique)
763 interface IShellLinkW : IUnknown
766 [out, size_is(cch)] LPWSTR pszFile,
768 [in, out] WIN32_FIND_DATAW *pfd,
771 HRESULT GetIDList( [out] LPITEMIDLIST * ppidl );
773 HRESULT SetIDList( [in] LPCITEMIDLIST pidl );
775 HRESULT GetDescription(
776 [out, size_is(cch)] LPWSTR pszName,
779 HRESULT SetDescription( [in] LPCWSTR pszName );
781 HRESULT GetWorkingDirectory(
782 [out, size_is(cch)] LPWSTR pszDir,
785 HRESULT SetWorkingDirectory( [in] LPCWSTR pszDir );
787 HRESULT GetArguments(
788 [out, size_is(cch)] LPWSTR pszArgs,
791 HRESULT SetArguments( [in] LPCWSTR pszArgs );
793 HRESULT GetHotkey( [out] WORD *pwHotkey );
795 HRESULT SetHotkey( [in] WORD wHotkey );
797 HRESULT GetShowCmd( [out] int *piShowCmd );
799 HRESULT SetShowCmd( [in] int iShowCmd );
801 HRESULT GetIconLocation(
802 [out, size_is(cch)] LPWSTR pszIconPath,
806 HRESULT SetIconLocation(
807 [in] LPCWSTR pszIconPath,
810 HRESULT SetRelativePath(
811 [in] LPCWSTR pszPathRel,
812 [in] DWORD dwReserved);
818 HRESULT SetPath( [in] LPCWSTR pszFile );
821 cpp_quote("#define IShellLink WINELIB_NAME_AW(IShellLink)")
824 /*****************************************************************************
825 * IShellExtInit interface
829 uuid(000214e8-0000-0000-c000-000000000046),
830 pointer_default(unique),
833 interface IShellExtInit : IUnknown
835 typedef IShellExtInit *LPSHELLEXTINIT;
838 [in] LPCITEMIDLIST pidlFolder,
839 [in] IDataObject *pdtobj,
840 [in] HKEY hkeyProgID);
844 /*******************************************************************************/
845 /* Note: the following interfaces are not in shobjidl.idl under Windows, they */
846 /* are declared directly in shlobj.h. It hopefully won't break anything to put */
847 /* them here anyway. */
848 /*******************************************************************************/
855 /*****************************************************************************
856 * IPersistFolder3 interface
860 uuid(cef04fdf-fe72-11d2-87a5-00c04f6837cf),
861 pointer_default(unique)
863 interface IPersistFolder3 : IPersistFolder2
867 LPITEMIDLIST pidlTargetFolder;
868 WCHAR szTargetParsingName[MAX_PATH];
869 WCHAR szNetworkProvider[MAX_PATH];
872 } PERSIST_FOLDER_TARGET_INFO;
874 HRESULT InitializeEx(
876 [in] LPCITEMIDLIST pidlRoot,
877 [in] const PERSIST_FOLDER_TARGET_INFO *ppfti);
879 HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti );
883 /*****************************************************************************
884 * IExtractIconA interface
888 uuid(000214eb-0000-0000-c000-000000000046),
889 pointer_default(unique)
891 interface IExtractIconA : IUnknown
893 cpp_quote("#define GIL_OPENICON 0x0001")
894 cpp_quote("#define GIL_FORSHELL 0x0002")
895 cpp_quote("#define GIL_ASYNC 0x0020")
896 cpp_quote("#define GIL_DEFAULTICON 0x0040")
897 cpp_quote("#define GIL_FORSHORTCUT 0x0080")
899 cpp_quote("#define GIL_SIMULATEDOC 0x0001")
900 cpp_quote("#define GIL_PERINSTANCE 0x0002")
901 cpp_quote("#define GIL_PERCLASS 0x0004")
902 cpp_quote("#define GIL_NOTFILENAME 0x0008")
903 cpp_quote("#define GIL_DONTCACHE 0x0010")
905 typedef IExtractIconA *LPEXTRACTICONA;
907 HRESULT GetIconLocation(
909 [out, size_is(cchMax)] LPSTR szIconFile,
912 [out] UINT *pwFlags);
916 [in] UINT nIconIndex,
917 [out] HICON *phiconLarge,
918 [out] HICON *phiconSmall,
919 [in] UINT nIconSize );
923 /*****************************************************************************
924 * IExtractIconW interface
928 uuid(000214fa-0000-0000-c000-000000000046),
929 pointer_default(unique)
931 interface IExtractIconW : IUnknown
933 typedef IExtractIconW *LPEXTRACTICONW;
935 HRESULT GetIconLocation(
937 [out, size_is(cchMax)] LPWSTR szIconFile,
940 [out] UINT *pwFlags);
943 [in] LPCWSTR pszFile,
944 [in] UINT nIconIndex,
945 [out] HICON *phiconLarge,
946 [out] HICON *phiconSmall,
947 [in] UINT nIconSize );
950 cpp_quote("#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)")
951 cpp_quote("#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)")
954 /*****************************************************************************
955 * ICommDlgBrowser interface
959 uuid(000214f1-0000-0000-c000-000000000046),
960 pointer_default(unique)
962 interface ICommDlgBrowser : IUnknown
964 cpp_quote("#define CDBOSC_SETFOCUS 0x00000000")
965 cpp_quote("#define CDBOSC_KILLFOCUS 0x00000001")
966 cpp_quote("#define CDBOSC_SELCHANGE 0x00000002")
967 cpp_quote("#define CDBOSC_RENAME 0x00000003")
968 cpp_quote("#define CDBOSC_STATECHANGE 0x00000004")
970 typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
972 HRESULT OnDefaultCommand( [in] IShellView *shv );
973 HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange );
974 HRESULT IncludeObject( [in] IShellView *shv, [in] LPCITEMIDLIST pidl );
978 /*****************************************************************************
979 * IDockingWindowFrame interface
983 uuid(47d2657a-7b27-11d0-8ca9-00a0c92dbfe8),
984 pointer_default(unique),
987 interface IDockingWindowFrame : IOleWindow
989 cpp_quote("#define DWFRF_NORMAL 0x0000")
990 cpp_quote("#define DWFRF_DELETECONFIGDATA 0x0001")
991 cpp_quote("#define DWFAF_HIDDEN 0x0001")
994 [in] IUnknown *punkSrc,
995 [in] LPCWSTR pwszItem,
996 [in] DWORD dwAddFlags);
998 HRESULT RemoveToolbar(
999 [in] IUnknown *punkSrc,
1000 [in] DWORD dwRemoveFlags);
1002 HRESULT FindToolbar(
1003 [in] LPCWSTR pwszItem,
1005 [out] LPVOID *ppvObj);
1009 /*****************************************************************************
1010 * IDragSourceHelper interface
1014 uuid(de5bf786-477a-11d2-839d-00c04fd918d0),
1015 pointer_default(unique)
1017 interface IDragSourceHelper : IUnknown
1023 HBITMAP hbmpDragImage;
1024 COLORREF crColorKey;
1025 } SHDRAGIMAGE, *LPSHDRAGIMAGE;
1027 HRESULT InitializeFromBitmap(
1028 [in] LPSHDRAGIMAGE pshdi,
1029 [in] IDataObject *pDataObject);
1031 HRESULT InitializeFromWindow(
1034 [in] IDataObject *pDataObject);
1038 /*****************************************************************************
1039 * IDropTargetHelper interface
1043 uuid(4657278b-411b-11d2-839a-00c04fd918d0),
1044 pointer_default(unique)
1046 interface IDropTargetHelper : IUnknown
1049 [in] HWND hwndTarget,
1050 [in] IDataObject *pDataObject,
1052 [in] DWORD dwEffect);
1054 HRESULT DragLeave();
1058 [in] DWORD dwEffect);
1061 [in] IDataObject *pDataObject,
1063 [in] DWORD dwEffect);
1065 HRESULT Show( [in] BOOL fShow );
1069 /*****************************************************************************
1070 * IContextMenu interface
1074 uuid(000214e4-0000-0000-c000-000000000046),
1075 pointer_default(unique),
1078 interface IContextMenu : IUnknown
1080 cpp_quote("#define CMF_NORMAL 0x00000000")
1081 cpp_quote("#define CMF_DEFAULTONLY 0x00000001")
1082 cpp_quote("#define CMF_VERBSONLY 0x00000002")
1083 cpp_quote("#define CMF_EXPLORE 0x00000004")
1084 cpp_quote("#define CMF_NOVERBS 0x00000008")
1085 cpp_quote("#define CMF_CANRENAME 0x00000010")
1086 cpp_quote("#define CMF_NODEFAULT 0x00000020")
1087 cpp_quote("#define CMF_INCLUDESTATIC 0x00000040")
1088 cpp_quote("#define CMF_EXTENDEDVERBS 0x00000100")
1089 cpp_quote("#define CMF_RESERVED 0xffff0000")
1091 cpp_quote("#define GCS_VERBA 0x00000000")
1092 cpp_quote("#define GCS_HELPTEXTA 0x00000001")
1093 cpp_quote("#define GCS_VALIDATEA 0x00000002")
1094 cpp_quote("#define GCS_VERBW 0x00000004")
1095 cpp_quote("#define GCS_HELPTEXTW 0x00000005")
1096 cpp_quote("#define GCS_VALIDATEW 0x00000006")
1097 cpp_quote("#define GCS_UNICODE 0x00000004")
1098 cpp_quote("#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)")
1099 cpp_quote("#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)")
1100 cpp_quote("#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)")
1102 cpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"")
1103 cpp_quote("#define CMDSTR_VIEWLISTA \"ViewList\"")
1104 cpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"")
1105 cpp_quote("#if defined(__GNUC__)")
1106 cpp_quote("# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }")
1107 cpp_quote("# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }")
1108 cpp_quote("# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }")
1109 cpp_quote("#elif defined(_MSC_VER)")
1110 cpp_quote("# define CMDSTR_NEWFOLDERW L\"NewFolder\"")
1111 cpp_quote("# define CMDSTR_VIEWLISTW L\"ViewList\"")
1112 cpp_quote("# define CMDSTR_VIEWDETAILSW L\"ViewDetails\"")
1114 cpp_quote("static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};")
1115 cpp_quote("static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};")
1116 cpp_quote("static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};")
1118 cpp_quote("#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)")
1119 cpp_quote("#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)")
1120 cpp_quote("#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)")
1122 cpp_quote("#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY")
1123 cpp_quote("#define CMIC_MASK_ICON SEE_MASK_ICON")
1124 cpp_quote("#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI")
1125 cpp_quote("#define CMIC_MASK_UNICODE SEE_MASK_UNICODE")
1126 cpp_quote("#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE")
1127 cpp_quote("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME")
1128 cpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM")
1129 cpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE")
1130 cpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK")
1131 cpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000")
1132 cpp_quote("#define CMIC_MASK_PTINVOKE 0x20000000")
1133 cpp_quote("#define CMIC_MASK_CONTROL_DOWN 0x40000000")
1134 cpp_quote("#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE")
1135 cpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS")
1137 typedef IContextMenu *LPCONTEXTMENU;
1139 typedef struct tagCMINVOKECOMMANDINFO
1145 LPCSTR lpParameters;
1150 } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
1152 typedef struct tagCMInvokeCommandInfoEx
1158 LPCSTR lpParameters;
1165 LPCWSTR lpParametersW;
1166 LPCWSTR lpDirectoryW;
1169 } CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
1171 HRESULT QueryContextMenu(
1173 [in] UINT indexMenu,
1174 [in] UINT idCmdFirst,
1175 [in] UINT idCmdLast,
1178 HRESULT InvokeCommand( [in] LPCMINVOKECOMMANDINFO lpici );
1180 HRESULT GetCommandString(
1181 [in] UINT_PTR idCmd,
1183 [out] UINT *pwReserved,
1184 [out, size_is(cchMax)] LPSTR pszName,
1189 /*****************************************************************************
1190 * IContextMenu2 interface
1194 uuid(000214f4-0000-0000-c000-000000000046),
1195 pointer_default(unique)
1197 interface IContextMenu2 : IContextMenu
1199 typedef IContextMenu2 *LPCONTEXTMENU2;
1201 HRESULT HandleMenuMsg(
1204 [in] LPARAM lParam);
1208 /*****************************************************************************
1209 * IContextMenu3 interface
1213 uuid(bcfce0a0-ec17-11d0-8d10-00a0c90f2719),
1214 pointer_default(unique)
1216 interface IContextMenu3 : IContextMenu2
1218 typedef IContextMenu3 *LPCONTEXTMENU3;
1220 HRESULT HandleMenuMsg2(
1224 [out] LRESULT *plResult);
1228 /*****************************************************************************
1229 * IShellExecuteHookA interface
1233 uuid(000214f5-0000-0000-c000-000000000046),
1234 pointer_default(unique),
1237 interface IShellExecuteHookA : IUnknown
1239 cpp_quote("struct _SHELLEXECUTEINFOA;")
1241 [in, out] struct _SHELLEXECUTEINFOA* pei);
1245 /*****************************************************************************
1246 * IShellExecuteHookW interface
1250 uuid(000214fb-0000-0000-c000-000000000046),
1251 pointer_default(unique),
1254 interface IShellExecuteHookW : IUnknown
1256 cpp_quote("struct _SHELLEXECUTEINFOW;")
1258 [in, out] struct _SHELLEXECUTEINFOW* pei);
1261 /*****************************************************************************
1262 * IShellLinkDataList interface
1266 uuid(45e2b4ae-b1c3-11d0-b92f-00a0c90312e1),
1267 pointer_default(unique)
1269 interface IShellLinkDataList : IUnknown
1271 [local] HRESULT AddDataBlock(
1272 [in] void *pDataBlock);
1273 [local] HRESULT CopyDataBlock(
1275 [out] void **ppDataBlock);
1276 HRESULT RemoveDataBlock(
1279 [out] DWORD *pdwFlags);
1281 [in] DWORD dwFlags);
1285 /*****************************************************************************
1286 * IResolveShellLink interface
1290 uuid(5cd52983-9449-11d2-963a-00c04f79adf0),
1291 pointer_default(unique)
1293 interface IResolveShellLink : IUnknown
1295 HRESULT ResolveShellLink(
1296 [in] IUnknown *punk,
1302 /*****************************************************************************
1303 * IURLSearchHook interface
1307 uuid(ac60f6a0-0fd9-11d0-99cb-00c04fd64497),
1308 pointer_default(unique)
1310 interface IURLSearchHook : IUnknown
1313 [in, out] LPWSTR lpwszSearchURL,
1314 [in] DWORD cchBufferSize);
1318 /*****************************************************************************
1319 * ISearchContext interface
1323 uuid(09f656a2-41af-480c-88f7-16cc0d164615),
1324 pointer_default(unique)
1326 interface ISearchContext : IUnknown
1328 HRESULT GetSearchUrl(
1329 [in] BSTR *pbstrSearchUrl);
1330 HRESULT GetSearchText(
1331 [in] BSTR *pbstrSearchText);
1332 HRESULT GetSearchStyle(
1333 [in] BSTR *pdwSearchStyle);
1337 /*****************************************************************************
1338 * IURLSearchHook2 interface
1342 uuid(5ee44da4-6d32-46e3-86bc-07540dedd0e0),
1343 pointer_default(unique)
1345 interface IURLSearchHook2 : IURLSearchHook
1347 HRESULT TranslateWithSearchContext(
1348 [in, out] LPWSTR lpwszSearchURL,
1349 [in] DWORD cchBufferSize,
1350 [in] ISearchContext *pSearchContext);
1354 cpp_quote("#define INewShortcutHook WINELIB_NAME_AW(INewShortcutHook)")
1356 /*****************************************************************************
1357 * INewShortcutHookA interface
1361 uuid(000214e1-0000-0000-c000-000000000046),
1362 pointer_default(unique)
1364 interface INewShortcutHookA : IUnknown
1366 HRESULT SetReferent(
1367 [in] LPCSTR pcszReferent,
1369 HRESULT GetReferent(
1370 [out] LPCSTR pcszReferent,
1371 [in] int cchReferent);
1373 [in] LPCSTR pcszReferent);
1375 [out] LPSTR pcszReferent,
1376 [in] int cchFolder);
1378 [out] LPSTR pszName,
1380 HRESULT GetExtension(
1381 [out] LPSTR pszExtension,
1382 [in] int cchExtension);
1386 /*****************************************************************************
1387 * INewShortcutHookW interface
1391 uuid(000214f7-0000-0000-c000-000000000046),
1392 pointer_default(unique)
1394 interface INewShortcutHookW : IUnknown
1396 HRESULT SetReferent(
1397 [in] LPCWSTR pcszReferent,
1399 HRESULT GetReferent(
1400 [out] LPCWSTR pcszReferent,
1401 [in] int cchReferent);
1403 [in] LPCWSTR pcszReferent);
1405 [out] LPWSTR pcszReferent,
1406 [in] int cchFolder);
1408 [out] LPWSTR pszName,
1410 HRESULT GetExtension(
1411 [out] LPWSTR pszExtension,
1412 [in] int cchExtension);
1415 /*****************************************************************************
1416 * IRunnableTask interface
1420 uuid(85788d00-6807-11d0-b810-00c04fd706ec),
1421 pointer_default(unique)
1423 interface IRunnableTask : IUnknown
1426 HRESULT Kill([in] BOOL fWait);
1432 /*****************************************************************************
1433 * IShellChangeNotify interface
1437 uuid(d82be2b1-5764-11d0-a96e-00c04fd705a2),
1438 pointer_default(unique)
1440 interface IShellChangeNotify : IUnknown
1444 [in] LPCITEMIDLIST pidl1,
1445 [in] LPCITEMIDLIST pidl2);
1448 /*****************************************************************************
1449 * IFileSystemBindData interface
1453 uuid(01e18d10-4d8b-11d2-855d-006008059367),
1454 pointer_default(unique)
1456 interface IFileSystemBindData : IUnknown
1458 HRESULT SetFindData(
1459 [in] const WIN32_FIND_DATAW *pfd);
1460 HRESULT GetFindData(
1461 [out] WIN32_FIND_DATAW *pfd);
1464 /*****************************************************************************
1465 * ITaskbarList interface
1469 uuid(56FDF342-FD6D-11d0-958A-006097C9A090),
1470 pointer_default(unique)
1472 interface ITaskbarList : IUnknown
1482 HRESULT ActivateTab(
1485 HRESULT SetActiveAlt(
1489 cpp_quote("EXTERN_C const CLSID CLSID_TaskbarList;")
1491 /*****************************************************************************
1492 * IContextMenuCB interface
1497 uuid(3409e930-5a39-11d1-83fa-00a0c90dc849),
1498 pointer_default(unique)
1500 interface IContextMenuCB : IUnknown
1503 [in] IShellFolder *psf,
1504 [in] HWND hwndOwner,
1505 [in] IDataObject *pdtobj,
1508 [in] LPARAM lParam);
1511 /*****************************************************************************
1512 * IDefaultExtractIconInit interface
1517 uuid(800AB0B8-F5FA-4e72-8FF3-B1A243B87BD9), /* FIXME: wrong value! */
1518 pointer_default(unique),
1521 interface IDefaultExtractIconInit : IUnknown
1523 HRESULT SetDefaultIcon(
1524 [in] LPCWSTR pszFile,
1530 HRESULT SetNormalIcon(
1531 [in] LPCWSTR pszFile,
1533 HRESULT SetOpenIcon(
1534 [in] LPCWSTR pszFile,
1536 HRESULT SetShortcutIcon(
1537 [in] LPCWSTR pszFile,
1542 /*****************************************************************************
1543 * IDockingWindow interface
1546 uuid(012dd920-7b26-11d0-8ca9-00a0c92dbfe8),
1549 interface IDockingWindow : IOleWindow
1551 HRESULT ShowDW([in] BOOL fShow);
1553 HRESULT CloseDW([in] DWORD dwReserved);
1555 HRESULT ResizeBorderDW(
1556 [in] LPCRECT prcBorder,
1557 [in] IUnknown* punkToolbarSite,
1558 [in] BOOL fReserved);
1562 /*****************************************************************************
1563 * IDeskBand interface
1565 cpp_quote("#define DBIM_MINSIZE 0x0001")
1566 cpp_quote("#define DBIM_MAXSIZE 0x0002")
1567 cpp_quote("#define DBIM_INTEGRAL 0x0004")
1568 cpp_quote("#define DBIM_ACTUAL 0x0008")
1569 cpp_quote("#define DBIM_TITLE 0x0010")
1570 cpp_quote("#define DBIM_MODEFLAGS 0x0020")
1571 cpp_quote("#define DBIM_BKCOLOR 0x0040")
1573 cpp_quote("#include <pshpack8.h>")
1575 typedef struct tagDESKBANDINFO
1582 WCHAR wszTitle[256];
1587 cpp_quote("#include <poppack.h>")
1589 cpp_quote("#define DBIMF_NORMAL 0x0000")
1590 cpp_quote("#define DBIMF_FIXED 0x0001")
1591 cpp_quote("#define DBIMF_FIXEDBMP 0x0004 // a fixed background bitmap (if supported)")
1592 cpp_quote("#define DBIMF_VARIABLEHEIGHT 0x0008")
1593 cpp_quote("#define DBIMF_UNDELETEABLE 0x0010")
1594 cpp_quote("#define DBIMF_DEBOSSED 0x0020")
1595 cpp_quote("#define DBIMF_BKCOLOR 0x0040")
1596 cpp_quote("#define DBIMF_USECHEVRON 0x0080")
1597 cpp_quote("#define DBIMF_BREAK 0x0100")
1598 cpp_quote("#define DBIMF_ADDTOFRONT 0x0200")
1599 cpp_quote("#define DBIMF_TOPALIGN 0x0400")
1600 cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)")
1601 cpp_quote("#define DBIMF_NOGRIPPER 0x0800")
1602 cpp_quote("#define DBIMF_ALWAYSGRIPPER 0x1000")
1603 cpp_quote("#define DBIMF_NOMARGINS 0x2000")
1604 cpp_quote("#endif // NTDDI_LONGHORN")
1606 cpp_quote("#define DBIF_VIEWMODE_NORMAL 0x0000")
1607 cpp_quote("#define DBIF_VIEWMODE_VERTICAL 0x0001")
1608 cpp_quote("#define DBIF_VIEWMODE_FLOATING 0x0002")
1609 cpp_quote("#define DBIF_VIEWMODE_TRANSPARENT 0x0004")
1611 enum tagDESKBANDCID {
1612 DBID_BANDINFOCHANGED = 0,
1614 DBID_MAXIMIZEBAND = 2,
1615 DBID_PUSHCHEVRON = 3,
1617 DBID_FINISHINIT = 5,
1618 DBID_SETWINDOWTHEME = 6,
1619 DBID_PERMITAUTOHIDE = 7,
1622 cpp_quote("#define DBPC_SELECTFIRST (DWORD)-1")
1623 cpp_quote("#define DBPC_SELECTLAST (DWORD)-2")
1625 cpp_quote("#define CGID_DeskBand IID_IDeskBand")
1628 uuid(EB0FE172-1A3A-11D0-89B3-00A0C90A90AC),
1631 interface IDeskBand : IDockingWindow
1633 HRESULT GetBandInfo(
1634 [in] DWORD dwBandID,
1635 [in] DWORD dwViewMode,
1636 [in, out] DESKBANDINFO* pdbi);
1639 cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)")
1641 /*****************************************************************************
1642 * IDeskBandInfo interface
1645 uuid(77E425FC-CBF9-4307-BA6A-BB5727745661),
1648 interface IDeskBandInfo : IUnknown
1650 HRESULT GetDefaultBandWidth(
1651 [in] DWORD dwBandID,
1652 [in] DWORD dwViewMode,
1653 [out] int *pnWidth);
1657 /*****************************************************************************
1658 * IDeskBand2 interface
1661 uuid(79D16DE4-ABEE-4021-8D9D-9169B261D657),
1664 interface IDeskBand2 : IDeskBand
1666 HRESULT CanRenderComposited([out] BOOL *pfCanRenderComposited);
1668 HRESULT SetCompositionState([in] BOOL fCompositionEnabled);
1670 HRESULT GetCompositionState([out] BOOL *pfCompositionEnabled);
1673 cpp_quote("#endif // NTDDI_LONGHORN")
1677 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)")
1680 uuid(EB0FE173-1A3A-11D0-89B3-00A0C90A90AC),
1682 pointer_default(unique),
1685 interface IDeskBar : IOleWindow
1687 HRESULT SetClient([in] IUnknown* punkClient);
1689 HRESULT GetClient([out] IUnknown** ppunkClient);
1691 HRESULT OnPosRectChangeDB([in] RECT *prc);
1695 /*****************************************************************************
1696 * IMenuPopup interface
1699 uuid(D1E7AFEB-6A2E-11d0-8C78-00C04FD918B4),
1701 pointer_default(unique),
1704 interface IMenuPopup : IDeskBar
1706 enum tagMENUPOPUPSELECT
1716 enum tagMENUPOPUPPOPUPFLAGS
1718 MPPF_SETFOCUS = 0x00000001,
1719 MPPF_INITIALSELECT = 0x00000002,
1720 MPPF_NOANIMATE = 0x00000004,
1721 MPPF_KEYBOARD = 0x00000010,
1722 MPPF_REPOSITION = 0x00000020,
1723 MPPF_FORCEZORDER = 0x00000040,
1724 MPPF_FINALSELECT = 0x00000080,
1725 MPPF_TOP = 0x20000000,
1726 MPPF_LEFT = 0x40000000,
1727 MPPF_RIGHT = 0x60000000,
1728 MPPF_BOTTOM = 0x80000000,
1729 MPPF_POS_MASK = 0xE0000000,
1730 MPPF_ALIGN_LEFT = 0x02000000,
1731 MPPF_ALIGN_RIGHT = 0x04000000
1733 typedef int MP_POPUPFLAGS;
1737 [in] RECTL *prcExclude,
1738 [in] MP_POPUPFLAGS dwFlags);
1740 HRESULT OnSelect([in] DWORD dwSelectType);
1743 [in] IMenuPopup* pmp,
1747 cpp_quote("#endif /* _WIN32_IE_IE60 */")
1749 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE40)")
1751 /*****************************************************************************
1752 * IBandSite interface
1754 cpp_quote("#include <pshpack8.h>")
1756 typedef struct tagBANDSITEINFO
1763 cpp_quote("#include <poppack.h>")
1766 enum tagBANDSITECID {
1771 cpp_quote("#define BSIM_STATE 0x00000001")
1772 cpp_quote("#define BSIM_STYLE 0x00000002")
1774 cpp_quote("#define BSSF_VISIBLE 0x00000001")
1775 cpp_quote("#define BSSF_NOTITLE 0x00000002")
1776 cpp_quote("#define BSSF_UNDELETEABLE 0x00001000")
1778 cpp_quote("#define BSIS_AUTOGRIPPER 0x00000000")
1779 cpp_quote("#define BSIS_NOGRIPPER 0x00000001")
1780 cpp_quote("#define BSIS_ALWAYSGRIPPER 0x00000002")
1781 cpp_quote("#define BSIS_LEFTALIGN 0x00000004")
1782 cpp_quote("#define BSIS_SINGLECLICK 0x00000008")
1783 cpp_quote("#define BSIS_NOCONTEXTMENU 0x00000010")
1784 cpp_quote("#define BSIS_NODROPTARGET 0x00000020")
1785 cpp_quote("#define BSIS_NOCAPTION 0x00000040")
1786 cpp_quote("#define BSIS_PREFERNOLINEBREAK 0x00000080")
1787 cpp_quote("#define BSIS_LOCKED 0x00000100")
1788 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE70)")
1789 cpp_quote("#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200")
1790 cpp_quote("#endif /* _WIN32_IE_IE70 */")
1792 cpp_quote("#define SID_SBandSite IID_IBandSite")
1793 cpp_quote("#define CGID_BandSite IID_IBandSite")
1797 uuid(4CF504B0-DE96-11D0-8B3F-00A0C911E8E5)
1799 interface IBandSite : IUnknown
1801 HRESULT AddBand([in] IUnknown* punk);
1805 [out] DWORD* pdwBandID);
1808 [in] DWORD dwBandID,
1809 [out] IDeskBand** ppstb,
1810 [out] DWORD* pdwState,
1811 [out, string, size_is(cchName)] LPWSTR pszName,
1814 HRESULT SetBandState(
1815 [in] DWORD dwBandID,
1817 [in] DWORD dwState);
1819 HRESULT RemoveBand([in] DWORD dwBandID);
1821 HRESULT GetBandObject(
1822 [in] DWORD dwBandID,
1824 [out, iid_is(riid)] void **ppv);
1826 HRESULT SetBandSiteInfo([in] const BANDSITEINFO *pbsinfo);
1828 HRESULT GetBandSiteInfo([in, out] BANDSITEINFO *pbsinfo);
1831 cpp_quote("#endif /* _WIN32_IE_IE40 */")
1833 /*****************************************************************************
1834 * IMenuBand interface
1837 uuid(568804CD-CBD7-11d0-9816-00C04FD91972),
1839 pointer_default(unique),
1842 interface IMenuBand : IUnknown
1844 enum tagMENUBANDHANDLERCID {
1845 MBHANDCID_PIDLSELECT = 0,
1848 HRESULT IsMenuMessage([in] MSG* pmsg);
1850 HRESULT TranslateMenuMessage(
1851 [in, out] MSG* pmsg,
1852 [out] LRESULT* plRet);
1855 /*****************************************************************************
1856 * IProfferService interface
1859 uuid(cb728b20-f786-11ce-92ad-00aa00a74cd0),
1861 pointer_default(unique),
1864 interface IProfferService : IUnknown
1866 HRESULT ProfferService(
1867 [in] REFGUID rguidService,
1868 [in] IServiceProvider *psp,
1869 [out] DWORD *pdwCookie);
1871 HRESULT RevokeService(
1872 [in] DWORD dwCookie);
1875 /*****************************************************************************
1876 * IShellMenuCallback interface
1878 cpp_quote("#include <pshpack8.h>")
1880 typedef struct tagSMDATA
1890 LPITEMIDLIST pidlFolder;
1891 LPITEMIDLIST pidlItem;
1894 } SMDATA, *LPSMDATA;
1896 cpp_quote("#define SMDM_SHELLFOLDER 0x00000001")
1897 cpp_quote("#define SMDM_HMENU 0x00000002")
1898 cpp_quote("#define SMDM_TOOLBAR 0x00000004")
1900 typedef struct tagSMINFO
1908 typedef struct tagSHCSCHANGENOTIFYSTRUCT
1911 LPCITEMIDLIST pidl1;
1912 LPCITEMIDLIST pidl2;
1913 } SMCSHCHANGENOTIFYSTRUCT, *PSMCSHCHANGENOTIFYSTRUCT;
1915 cpp_quote("#include <poppack.h>")
1919 SMIM_TYPE = 0x00000001,
1920 SMIM_FLAGS = 0x00000002,
1921 SMIM_ICON = 0x00000004
1926 SMIT_SEPARATOR = 0x00000001,
1927 SMIT_STRING = 0x00000002
1932 SMIF_ICON = 0x00000001,
1933 SMIF_ACCELERATOR = 0x00000002,
1934 SMIF_DROPTARGET = 0x00000004,
1935 SMIF_SUBMENU = 0x00000008,
1936 SMIF_CHECKED = 0x00000020,
1937 SMIF_DROPCASCADE = 0x00000040,
1938 SMIF_HIDDEN = 0x00000080,
1939 SMIF_DISABLED = 0x00000100,
1940 SMIF_TRACKPOPUP = 0x00000200,
1941 SMIF_DEMOTED = 0x00000400,
1942 SMIF_ALTSTATE = 0x00000800,
1943 SMIF_DRAGNDROP = 0x00001000,
1944 SMIF_NEW = 0x00002000,
1948 cpp_quote("#define SMC_INITMENU 0x00000001")
1949 cpp_quote("#define SMC_CREATE 0x00000002")
1950 cpp_quote("#define SMC_EXITMENU 0x00000003")
1951 cpp_quote("#define SMC_GETINFO 0x00000005")
1952 cpp_quote("#define SMC_GETSFINFO 0x00000006")
1953 cpp_quote("#define SMC_GETOBJECT 0x00000007")
1954 cpp_quote("#define SMC_GETSFOBJECT 0x00000008")
1955 cpp_quote("#define SMC_SFEXEC 0x00000009")
1956 cpp_quote("#define SMC_SFSELECTITEM 0x0000000A")
1957 cpp_quote("#define SMC_REFRESH 0x00000010")
1958 cpp_quote("#define SMC_DEMOTE 0x00000011")
1959 cpp_quote("#define SMC_PROMOTE 0x00000012")
1960 cpp_quote("#define SMC_DEFAULTICON 0x00000016")
1961 cpp_quote("#define SMC_NEWITEM 0x00000017")
1962 cpp_quote("#define SMC_CHEVRONEXPAND 0x00000019")
1963 cpp_quote("#define SMC_DISPLAYCHEVRONTIP 0x0000002A")
1964 cpp_quote("#define SMC_SETSFOBJECT 0x0000002D")
1965 cpp_quote("#define SMC_SHCHANGENOTIFY 0x0000002E")
1966 cpp_quote("#define SMC_CHEVRONGETTIP 0x0000002F")
1967 cpp_quote("#define SMC_SFDDRESTRICTED 0x00000030")
1970 uuid(4CA300A1-9B8D-11d1-8B22-00C04FD918D0),
1972 pointer_default(unique),
1975 interface IShellMenuCallback : IUnknown
1978 [in, out] LPSMDATA psmd,
1981 [in] LPARAM lParam);
1985 /*****************************************************************************
1986 * IShellMenu interface
1989 cpp_quote("#define SMINIT_DEFAULT 0x00000000")
1990 cpp_quote("#define SMINIT_RESTRICT_DRAGDROP 0x00000002")
1991 cpp_quote("#define SMINIT_TOPLEVEL 0x00000004")
1992 cpp_quote("#define SMINIT_CACHED 0x00000010")
1993 cpp_quote("#define SMINIT_VERTICAL 0x10000000")
1994 cpp_quote("#define SMINIT_HORIZONTAL 0x20000000")
1996 cpp_quote("#define ANCESTORDEFAULT (UINT)-1")
1998 cpp_quote("#define SMSET_TOP 0x10000000")
1999 cpp_quote("#define SMSET_BOTTOM 0x20000000")
2000 cpp_quote("#define SMSET_DONTOWN 0x00000001")
2002 cpp_quote("#define SMINV_REFRESH 0x00000001")
2003 cpp_quote("#define SMINV_ID 0x00000008")
2006 uuid(EE1F7637-E138-11d1-8379-00C04FD918D0),
2008 pointer_default(unique),
2011 interface IShellMenu : IUnknown
2014 [in] IShellMenuCallback *psmc,
2016 [in] UINT uIdAncestor,
2017 [in] DWORD dwFlags);
2019 HRESULT GetMenuInfo(
2020 [out] IShellMenuCallback **ppsmc,
2022 [out] UINT *puIdAncestor,
2023 [out] DWORD *pdwFlags);
2025 HRESULT SetShellFolder(
2026 [in] IShellFolder *psf,
2027 [in] LPCITEMIDLIST pidlFolder,
2029 [in] DWORD dwFlags);
2031 HRESULT GetShellFolder(
2032 [out] DWORD *pdwFlags,
2033 [out] LPITEMIDLIST *ppidl,
2040 [in] DWORD dwFlags);
2043 [out] HMENU *phmenu,
2045 [out] DWORD *pdwFlags);
2047 HRESULT InvalidateItem(
2049 [in] DWORD dwFlags);
2052 [out] LPSMDATA psmd);
2054 HRESULT SetMenuToolbar(
2055 [in] IUnknown *punk,
2056 [in] DWORD dwFlags);
2060 typedef struct _WINDOWDATA
2065 [string] LPWSTR lpszUrl;
2066 [string] LPWSTR lpszUrlLocation;
2067 [string] LPWSTR lpszTitle;
2070 typedef WINDOWDATA *LPWINDOWDATA;
2071 typedef const WINDOWDATA *LPCWINDOWDATA;
2074 /*****************************************************************************
2075 * ITravelEntry interface
2078 uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3),
2080 pointer_default(unique),
2083 interface ITravelEntry : IUnknown
2086 [in] IUnknown *punk);
2089 [in] IUnknown *punk,
2090 BOOL fIsLocalAnchor);
2093 [in] LPITEMIDLIST *ppidl);
2097 /*****************************************************************************
2098 * ITravelLogClient interface
2101 uuid(241c033e-e659-43da-aa4d-4086dbc4758d),
2103 pointer_default(unique),
2106 interface ITravelLogClient : IUnknown
2108 HRESULT FindWindowByIndex(
2110 [out] IUnknown **ppunk);
2112 HRESULT GetWindowData(
2113 [out] LPWINDOWDATA pWinData);
2115 HRESULT LoadHistoryPosition(
2116 [in] LPWSTR pszUrlLocation,
2117 [in] DWORD dwPosition);
2121 /*****************************************************************************
2122 * ITravelLog interface
2125 uuid(02BA3B52-0547-11D1-B833-00C04FC9B31F),
2127 pointer_default(unique),
2130 interface ITravelLog : IUnknown
2134 TLEF_RELATIVE_INCLUDE_CURRENT = 0x00000001,
2135 TLEF_RELATIVE_BACK = 0x00000010,
2136 TLEF_RELATIVE_FORE = 0x00000020,
2137 TLEF_INCLUDE_UNINVOKEABLE = 0x00000040,
2138 TLEF_ABSOLUTE = 0x00000031,
2140 typedef DWORD TLENUMF;
2143 [in] IUnknown *punk,
2144 BOOL fIsLocalAnchor);
2146 HRESULT UpdateEntry(
2147 [in] IUnknown *punk,
2148 BOOL fIsLocalAnchor);
2150 HRESULT UpdateExternal(
2151 [in] IUnknown *punk,
2152 [in] IUnknown *punkHLBrowseContext);
2155 [in] IUnknown *punk,
2158 HRESULT GetTravelEntry(
2159 [in] IUnknown *punk,
2161 [out] ITravelEntry **ppte);
2163 HRESULT FindTravelEntry(
2164 [in] IUnknown *punk,
2165 [in] LPCITEMIDLIST pidl,
2166 [out] ITravelEntry **ppte);
2168 HRESULT GetToolTipText(
2169 [in] IUnknown *punk,
2172 [out] LPWSTR pwzText,
2175 HRESULT InsertMenuEntries(
2176 [in] IUnknown *punk,
2177 [in, out] HMENU hmenu,
2184 [out] ITravelLog **pptl);
2187 [in] IUnknown *punk);
2193 /*****************************************************************************
2194 * IShellService interface
2198 uuid(5836FB00-8187-11CF-A12B-00AA004AE837),
2199 pointer_default(unique),
2202 interface IShellService : IUnknown
2205 [in] IUnknown *owner);
2208 /*****************************************************************************
2209 * IShellBrowser interface
2213 uuid(02BA3B52-0547-11D1-B833-00C04FC9B31F),
2214 pointer_default(unique),
2217 interface IBrowserService : IUnknown
2219 typedef enum tagBNSTATE
2222 BNS_BEGIN_NAVIGATE = 1,
2226 cpp_quote("#include <pshpack8.h>")
2227 typedef struct basebrowserdataxp
2232 IUnknown *_pautoWB2;
2233 IUnknown *_pautoEDS;
2234 IShellService *_pautoSS;
2235 int _eSecureLockIcon;
2236 DWORD _fCreatingViewWindow;
2237 UINT _uActivateState;
2238 LPITEMIDLIST _pidlViewState;
2239 IOleCommandTarget *_pctView;
2240 LPITEMIDLIST _pidlCur;
2244 LPWSTR _pszTitleCur;
2245 LPITEMIDLIST _pidlPending;
2246 IShellView *_psvPending;
2247 IShellFolder *_psfPending;
2248 HWND _hwndViewPending;
2249 LPWSTR _pszTitlePending;
2250 BOOL _fIsViewMSHTML;
2251 BOOL _fPrivacyImpacted;
2253 CLSID _clsidViewPending;
2255 } BASEBROWSERDATAXP;
2256 typedef struct basebrowserdataxp *LPBASEBROWSERDATAXP;
2258 typedef struct basebrowserdatalh
2263 IUnknown *_pautoWB2;
2264 IUnknown *_pautoEDS;
2265 IShellService *_pautoSS;
2266 int _eSecureLockIcon;
2267 DWORD _fCreatingViewWindow;
2268 UINT _uActivateState;
2269 LPITEMIDLIST _pidlViewState;
2270 IOleCommandTarget *_pctView;
2271 LPITEMIDLIST _pidlCur;
2275 LPWSTR _pszTitleCur;
2276 LPITEMIDLIST _pidlPending;
2277 IShellView *_psvPending;
2278 IShellFolder *_psfPending;
2279 HWND _hwndViewPending;
2280 LPWSTR _pszTitlePending;
2281 BOOL _fIsViewMSHTML;
2282 BOOL _fPrivacyImpacted;
2284 CLSID _clsidViewPending;
2286 LONG _lPhishingFilterStatus;
2287 } BASEBROWSERDATALH;
2288 cpp_quote("#include <poppack.h>")
2289 typedef struct basebrowserdatalh *LPBASEBROWSERDATALH;
2291 typedef BASEBROWSERDATAXP BASEBROWSERDATA;
2293 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
2295 typedef BASEBROWSERDATA *LPBASEBROWSERDATA;
2298 typedef HANDLE HMONITOR;
2299 cpp_quote("#endif /* 0 */")
2301 typedef struct SToolbarItem
2303 IDockingWindow *ptbar;
2304 BORDERWIDTHS rcBorderTool;
2310 typedef struct SToolbarItem *LPTOOLBARITEM;
2312 HRESULT GetParentSite(
2313 [out] IOleInPlaceSite **ppipsite);
2316 [in] IShellView *psv,
2317 [in] LPCWSTR pszName);
2320 [in] IShellView *psv,
2321 [out] LPWSTR pszName,
2324 HRESULT GetOleObject(
2325 [out] IOleObject **ppobjv);
2327 HRESULT GetTravelLog(
2328 [out] ITravelLog **pptl);
2330 HRESULT ShowControlWindow(
2334 HRESULT IsControlWindowShown(
2336 [out] BOOL *pfShown);
2338 HRESULT IEGetDisplayName(
2339 [in] LPCITEMIDLIST pidl,
2340 [out] LPWSTR pwszName,
2343 HRESULT IEParseDisplayName(
2345 [in] LPCWSTR pwszPath,
2346 [out] LPCITEMIDLIST *ppidlOut);
2348 HRESULT DisplayParseError(
2350 [in] LPCWSTR pwszPath);
2352 HRESULT NavigateToPidl(
2353 [in] LPCITEMIDLIST pidl,
2356 HRESULT SetNavigateState(
2359 HRESULT GetNavigateState(
2360 [out] BNSTATE *pbnstate);
2362 HRESULT NotifyRedirect(
2363 [in] IShellView *psv,
2364 [in] LPCITEMIDLIST pidl,
2365 [out] BOOL *pfDidBrowse);
2367 HRESULT UpdateWindowList();
2369 HRESULT UpdateBackForwardState();
2376 [out] DWORD *pdwFlags);
2378 HRESULT CanNavigateNow();
2381 [out] LPCITEMIDLIST *ppidl);
2383 HRESULT SetReferrer(
2384 [in] LPCITEMIDLIST pidl);
2386 DWORD GetBrowserIndex();
2388 HRESULT GetBrowserByIndex(
2390 [out] IUnknown **ppunk);
2392 HRESULT GetHistoryObject(
2393 [out] IOleObject **ppole,
2394 [out] IStream **pstm,
2395 [out] IBindCtx **ppbc);
2397 HRESULT SetHistoryObject(
2398 [in] IOleObject *pole,
2399 BOOL fIsLocalAnchor);
2401 HRESULT CacheOLEServer(
2402 [in] IOleObject *pole);
2404 HRESULT GetSetCodePage(
2405 [in] VARIANT *pvarIn,
2406 [out] VARIANT *pvarOut);
2408 HRESULT OnHttpEquiv(
2409 [in] IShellView *psv,
2411 [in] VARIANT *pvarargIn,
2412 [out] VARIANT *pvarargOut);
2415 [out] HPALETTE *hpal);
2417 HRESULT RegisterWindow(
2418 BOOL fForceRegister,
2423 /*****************************************************************************
2424 * IShellBrowser2 interface
2427 uuid(68BD21CC-438B-11D2-A560-00A0C92DBFE8),
2429 pointer_default(unique),
2432 interface IBrowserService2 : IBrowserService
2434 typedef struct tagFolderSetData
2437 SHELLVIEWID _vidRestore;
2438 DWORD _dwViewPriority;
2441 typedef struct tagFolderSetData *LPFOLDERSETDATA;
2449 HRESULT SetAsDefFolderSettings();
2451 HRESULT GetViewRect(
2458 [in] struct tagCREATESTRUCTW *pcs);
2464 HRESULT OnDestroy();
2467 [in] struct tagNMHDR *pnm);
2469 HRESULT OnSetFocus();
2471 HRESULT OnFrameWindowActivateBS(
2474 HRESULT ReleaseShellView();
2476 HRESULT ActivatePendingView();
2478 HRESULT CreateViewWindow(
2479 [in] IShellView *psvNew,
2480 [in] IShellView *psvOld,
2481 [in] LPRECT prcView,
2484 HRESULT CreateBrowserPropSheetExt(
2488 HRESULT GetViewWindow(
2489 [out] HWND *phwndView);
2491 HRESULT GetBaseBrowserData(
2492 [out] LPCBASEBROWSERDATA *pbbd);
2494 LPBASEBROWSERDATA PutBaseBrowserData();
2496 HRESULT InitializeTravelLog(
2497 [in] ITravelLog *ptl,
2500 HRESULT SetTopBrowser();
2505 HRESULT AllowViewResize(
2508 HRESULT SetActivateState(
2511 HRESULT UpdateSecureLockIcon(
2514 HRESULT InitializeDownloadManager();
2516 HRESULT InitializeTransitionSite();
2518 HRESULT _Initialize(
2520 [in] IUnknown *pauto);
2522 HRESULT _CancelPendingNavigationAsync();
2524 HRESULT _CancelPendingView();
2526 HRESULT _MaySaveChanges();
2528 HRESULT _PauseOrResumeView(
2531 HRESULT _DisableModeless();
2533 HRESULT _NavigateToPidl(
2534 [in] LPCITEMIDLIST pidl,
2538 HRESULT _TryShell2Rename(
2539 [in] IShellView *psv,
2540 [in] LPCITEMIDLIST pidlNew);
2542 HRESULT _SwitchActivationNow();
2544 HRESULT _ExecChildren(
2545 [in] IUnknown *punkBar,
2547 [in] const GUID *pguidCmdGroup,
2550 [in] VARIANTARG *pvarargIn,
2551 [in, out] VARIANTARG *pvarargOut);
2553 HRESULT _SendChildren(
2560 HRESULT GetFolderSetData(
2561 [out] struct tagFolderSetData *pfsd);
2563 HRESULT _OnFocusChange(
2566 HRESULT v_ShowHideChildWindows(
2569 UINT _get_itbLastFocus();
2571 HRESULT _put_itbLastFocus(
2574 HRESULT _UIActivateView(
2577 HRESULT _GetViewBorderRect(
2580 HRESULT _UpdateViewRectSize();
2582 HRESULT _ResizeNextBorder(
2585 HRESULT _ResizeView();
2587 HRESULT _GetEffectiveClientArea(
2588 [out] LPRECT lprectBorder,
2589 [in] HMONITOR hmon);
2591 IStream *v_GetViewStream(
2592 [in] LPCITEMIDLIST pidl,
2594 [in] LPCWSTR pwszName);
2596 LRESULT ForwardViewMsg(
2601 HRESULT SetAcceleratorMenu(
2604 int _GetToolbarCount();
2606 LPTOOLBARITEM _GetToolbarItem(
2609 HRESULT _SaveToolbars(
2610 [in] IStream *pstm);
2612 HRESULT _LoadToolbars(
2613 [in] IStream *pstm);
2615 HRESULT _CloseAndReleaseToolbars(
2618 HRESULT v_MayGetNextToolbarFocus(
2622 [out] LPTOOLBARITEM *pptbi,
2625 HRESULT _ResizeNextBorderHelper(
2630 [in] IUnknown *punkSrc);
2633 [in] LPTOOLBARITEM ptbi,
2637 HRESULT v_MayTranslateAccelerator(
2640 HRESULT _GetBorderDWHelper(
2641 [in] IUnknown *punkSrc,
2642 [out] LPRECT lprectBorder,
2645 HRESULT v_CheckZoneCrossing(
2646 [in] LPCITEMIDLIST pidl);
2650 /*****************************************************************************
2651 * IShellBrowser3 interface
2654 uuid(27D7CE21-762D-48F3-86F3-40E2FD3749C4),
2656 pointer_default(unique),
2659 interface IBrowserService3 : IBrowserService2
2661 HRESULT _PositionViewWindow(
2665 HRESULT IEParseDisplayNameEx(
2667 [in] LPCWSTR pwszPath,
2669 [out] LPITEMIDLIST *ppidlOut);
2673 /*****************************************************************************
2674 * IShellBrowser4 interface
2677 uuid(639f1bff-e135-4096-abd8-e0f504d649a4),
2679 pointer_default(unique),
2682 interface IBrowserService4 : IBrowserService3
2684 HRESULT ActivateView(
2687 HRESULT SaveViewState();
2689 HRESULT _ResizeAllBorders();
2692 cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE60)")
2694 /*****************************************************************************
2695 * ITrackShellMenu interface
2698 uuid(8278F932-2A3E-11d2-838F-00C04FD918D0),
2700 pointer_default(unique),
2703 interface ITrackShellMenu : IShellMenu
2705 HRESULT SetObscured(
2707 [in] IUnknown *punkBand,
2708 DWORD dwSMSetFlags);
2713 [in] RECTL *prcExclude,
2714 MP_POPUPFLAGS dwFlags);
2717 cpp_quote("#endif /* _WIN32_IE_IE60 */")