xref: /reactos/sdk/include/psdk/shdeprecated.idl (revision bd712186)
1/*
2 * Deprecated shell interfaces
3 *
4 * Copyright (C) 2010 Nikolay Sivov for CodeWeavers
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21import "objidl.idl";
22import "ocidl.idl";
23import "shtypes.idl";
24import "shobjidl.idl";
25import "hlink.idl";
26import "exdisp.idl";
27
28cpp_quote("#define TLOG_BACK    -1")
29cpp_quote("#define TLOG_FORE    1")
30
31cpp_quote("#define TLMENUF_INCLUDECURRENT   0x00000001")
32cpp_quote("#define TLMENUF_CHECKCURRENT     (TLMENUF_INCLUDECURRENT | 0x00000002)")
33cpp_quote("#define TLMENUF_BACK             0x00000010")
34cpp_quote("#define TLMENUF_FORE             0x00000020")
35cpp_quote("#define TLMENUF_BACKANDFORTH     (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
36
37[
38    pointer_default(unique),
39    local,
40    object,
41    uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
42]
43interface ITravelEntry : IUnknown
44{
45    HRESULT Invoke(
46        [in] IUnknown *punk);
47
48    HRESULT Update(
49        [in] IUnknown *punk,
50        [in] BOOL fIsLocalAnchor);
51
52    HRESULT GetPidl(
53        [out] PIDLIST_ABSOLUTE *ppidl);
54};
55
56[
57    pointer_default(unique),
58    local,
59    object,
60    uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
61]
62interface ITravelLog : IUnknown
63{
64    HRESULT AddEntry(
65        [in] IUnknown *punk,
66        [in] BOOL fIsLocalAnchor);
67
68    HRESULT UpdateEntry(
69        [in] IUnknown *punk,
70        [in] BOOL fIsLocalAnchor);
71
72    HRESULT UpdateExternal(
73        [in] IUnknown *punk,
74        [in] IUnknown *punkHLBrowseContext);
75
76    HRESULT Travel(
77        [in] IUnknown *punk,
78        [in] int iOffset);
79
80    HRESULT GetTravelEntry(
81        [in]  IUnknown *punk,
82        [in]  int iOffset,
83        [optional, out] ITravelEntry **ppte);
84
85    HRESULT FindTravelEntry(
86        [in]  IUnknown *punk,
87        [in]  PCIDLIST_ABSOLUTE pidl,
88        [out] ITravelEntry **ppte);
89
90    HRESULT GetToolTipText(
91        [in]  IUnknown *punk,
92        [in]  int iOffset,
93        [in]  int idsTemplate,
94        [out, size_is(cchText)] LPWSTR pwzText,
95        [in]  DWORD cchText);
96
97    HRESULT InsertMenuEntries(
98        [in] IUnknown *punk,
99        [in] HMENU hmenu,
100        [in] int nPos,
101        [in] int idFirst,
102        [in] int idLast,
103        [in] DWORD dwFlags);
104
105    HRESULT Clone(
106        [out] ITravelLog **pptl);
107
108    DWORD CountEntries(
109        [in] IUnknown *punk);
110
111    HRESULT Revert();
112};
113
114typedef void *CIE4ConnectionPoint;
115
116[
117    local,
118    object,
119    uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
120]
121interface IExpDispSupport : IUnknown
122{
123    HRESULT FindCIE4ConnectionPoint(
124        REFIID riid,
125        CIE4ConnectionPoint **ppccp);
126
127    HRESULT OnTranslateAccelerator(
128        MSG  *pMsg,
129        DWORD grfModifiers);
130
131    HRESULT OnInvoke(
132        DISPID dispidMember,
133        REFIID iid,
134        LCID lcid,
135        WORD wFlags,
136        DISPPARAMS *pdispparams,
137        VARIANT *pVarResult,
138        EXCEPINFO *pexcepinfo,
139        UINT *puArgErr);
140};
141
142typedef enum tagBNSTATE
143{
144    BNS_NORMAL = 0,
145    BNS_BEGIN_NAVIGATE = 1,
146    BNS_NAVIGATE = 2
147} BNSTATE;
148
149enum {
150    SBSC_HIDE = 0,
151    SBSC_SHOW = 1,
152    SBSC_TOGGLE = 2,
153    SBSC_QUERY =  3
154};
155
156cpp_quote("#define BSF_REGISTERASDROPTARGET     0x00000001")
157cpp_quote("#define BSF_THEATERMODE              0x00000002")
158cpp_quote("#define BSF_NOLOCALFILEWARNING       0x00000010")
159cpp_quote("#define BSF_UISETBYAUTOMATION        0x00000100")
160cpp_quote("#define BSF_RESIZABLE                0x00000200")
161cpp_quote("#define BSF_CANMAXIMIZE              0x00000400")
162cpp_quote("#define BSF_TOPBROWSER               0x00000800")
163cpp_quote("#define BSF_NAVNOHISTORY             0x00001000")
164cpp_quote("#define BSF_HTMLNAVCANCELED          0x00002000")
165cpp_quote("#define BSF_DONTSHOWNAVCANCELPAGE    0x00004000")
166cpp_quote("#define BSF_SETNAVIGATABLECODEPAGE   0x00008000")
167cpp_quote("#define BSF_DELEGATEDNAVIGATION      0x00010000")
168cpp_quote("#define BSF_TRUSTEDFORACTIVEX        0x00020000")
169
170cpp_quote("#define HLNF_CALLERUNTRUSTED             0x00200000")
171cpp_quote("#define HLNF_TRUSTEDFORACTIVEX           0x00400000")
172cpp_quote("#define HLNF_DISABLEWINDOWRESTRICTIONS   0x00800000")
173cpp_quote("#define HLNF_TRUSTFIRSTDOWNLOAD          0x01000000")
174cpp_quote("#define HLNF_UNTRUSTEDFORDOWNLOAD        0x02000000")
175cpp_quote("#define SHHLNF_NOAUTOSELECT              0x04000000")
176cpp_quote("#define SHHLNF_WRITENOHISTORY            0x08000000")
177cpp_quote("#define HLNF_EXTERNALNAVIGATE            0x10000000")
178cpp_quote("#define HLNF_ALLOW_AUTONAVIGATE          0x20000000")
179cpp_quote("#define HLNF_NEWWINDOWSMANAGED           0x80000000")
180
181[
182    pointer_default(unique),
183    local,
184    object,
185    uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
186]
187interface IBrowserService : IUnknown
188{
189    HRESULT GetParentSite(
190        [out] IOleInPlaceSite **ppipsite);
191
192    HRESULT SetTitle(
193        [in] IShellView *psv,
194        [in] LPCWSTR pszName);
195
196    HRESULT GetTitle(
197        [in] IShellView *psv,
198        [out, size_is(cchName)] LPWSTR pszName,
199        [in] DWORD cchName);
200
201    HRESULT GetOleObject(
202        [out] IOleObject **ppobjv);
203
204    HRESULT GetTravelLog(
205        [out, optional] ITravelLog **pptl);
206
207    HRESULT ShowControlWindow(
208        [in] UINT id,
209        [in] BOOL fShow);
210
211    HRESULT IsControlWindowShown(
212        [in] UINT id,
213        [out] BOOL *pfShown);
214
215    HRESULT IEGetDisplayName(
216        [in] PCIDLIST_ABSOLUTE pidl,
217        [out] LPWSTR pwszName,
218        [in] UINT uFlags);
219
220    HRESULT IEParseDisplayName(
221        [in] UINT uiCP,
222        [in] LPCWSTR pwszPath,
223        [out] PIDLIST_ABSOLUTE *ppidlOut);
224
225    HRESULT DisplayParseError(
226        [in] HRESULT hres,
227        [in] LPCWSTR pwszPath);
228
229    HRESULT NavigateToPidl(
230        [in] PCIDLIST_ABSOLUTE pidl,
231        [in] DWORD grfHLNF);
232
233    HRESULT SetNavigateState(
234        [in] BNSTATE bnstate);
235
236    HRESULT GetNavigateState(
237        [out] BNSTATE *pbnstate);
238
239    HRESULT NotifyRedirect(
240        [in] IShellView *psv,
241        [in] PCIDLIST_ABSOLUTE pidl,
242        [out] BOOL *pfDidBrowse);
243
244    HRESULT UpdateWindowList();
245
246    HRESULT UpdateBackForwardState();
247
248    HRESULT SetFlags(
249        [in] DWORD dwFlags,
250        [in] DWORD dwFlagMask);
251
252    HRESULT GetFlags(
253        [out] DWORD *pdwFlags);
254
255    HRESULT CanNavigateNow();
256
257    HRESULT GetPidl(
258        [out] PIDLIST_ABSOLUTE *ppidl);
259
260    HRESULT SetReferrer(
261        [in] PCIDLIST_ABSOLUTE pidl);
262
263    DWORD GetBrowserIndex();
264
265    HRESULT GetBrowserByIndex(
266        [in] DWORD dwID,
267        [out] IUnknown **ppunk);
268
269    HRESULT GetHistoryObject(
270        [out] IOleObject **ppole,
271        [out] IStream **pstm,
272        [out] IBindCtx **ppbc);
273
274    HRESULT SetHistoryObject(
275        [in] IOleObject *pole,
276        [in] BOOL fIsLocalAnchor);
277
278    HRESULT CacheOLEServer(
279        [in] IOleObject *pole);
280
281    HRESULT GetSetCodePage(
282        [in] VARIANT *pvarIn,
283        [out] VARIANT *pvarOut);
284
285    HRESULT OnHttpEquiv(
286        [in] IShellView *psv,
287        [in] BOOL fDone,
288        [in] VARIANT *pvarargIn,
289        [out] VARIANT *pvarargOut);
290
291    HRESULT GetPalette(
292        [out] HPALETTE *hpal);
293
294    HRESULT RegisterWindow(
295        [in] BOOL fForceRegister,
296        [in] int swc);
297}
298
299[
300    pointer_default(unique),
301    object,
302    local,
303    uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
304]
305interface IShellService : IUnknown
306{
307    HRESULT SetOwner( [in] IUnknown *pUnk );
308}
309
310cpp_quote("#if 0")
311typedef HANDLE HMONITOR;
312cpp_quote("#endif")
313
314enum {
315    SECURELOCK_NOCHANGE                 = -1,
316    SECURELOCK_SET_UNSECURE             = 0,
317    SECURELOCK_SET_MIXED                = 1,
318    SECURELOCK_SET_SECUREUNKNOWNBIT     = 2,
319    SECURELOCK_SET_SECURE40BIT          = 3,
320    SECURELOCK_SET_SECURE56BIT          = 4,
321    SECURELOCK_SET_FORTEZZA             = 5,
322    SECURELOCK_SET_SECURE128BIT         = 6,
323    SECURELOCK_FIRSTSUGGEST             = 7,
324    SECURELOCK_SUGGEST_UNSECURE         = SECURELOCK_FIRSTSUGGEST,
325    SECURELOCK_SUGGEST_MIXED            = 8,
326    SECURELOCK_SUGGEST_SECUREUNKNOWNBIT = 9,
327    SECURELOCK_SUGGEST_SECURE40BIT      = 10,
328    SECURELOCK_SUGGEST_SECURE56BIT      = 11,
329    SECURELOCK_SUGGEST_FORTEZZA         = 12,
330    SECURELOCK_SUGGEST_SECURE128BIT     = 13,
331};
332
333cpp_quote("#include <pshpack8.h>")
334typedef struct basebrowserdataxp
335{
336    HWND                _hwnd;
337    ITravelLog          *_ptl;
338    IHlinkFrame         *_phlf;
339    IWebBrowser2        *_pautoWB2;
340    IExpDispSupport     *_pautoEDS;
341    IShellService       *_pautoSS;
342    int                 _eSecureLockIcon;
343    DWORD               _fCreatingViewWindow;
344    UINT                _uActivateState;
345
346    PCIDLIST_ABSOLUTE   _pidlNewShellView;
347
348    IOleCommandTarget   *_pctView;
349
350    PIDLIST_ABSOLUTE    _pidlCur;
351    IShellView          *_psv;
352    IShellFolder        *_psf;
353    HWND                _hwndView;
354    LPWSTR              _pszTitleCur;
355
356    PIDLIST_ABSOLUTE    _pidlPending;
357    IShellView          *_psvPending;
358    IShellFolder        *_psfPending;
359    HWND                _hwndViewPending;
360    LPWSTR              _pszTitlePending;
361
362    BOOL                _fIsViewMSHTML;
363    BOOL                _fPrivacyImpacted;
364    CLSID               _clsidView;
365    CLSID               _clsidViewPending;
366    HWND                _hwndFrame;
367} BASEBROWSERDATAXP, *LPBASEBROWSERDATAXP;
368
369typedef struct basebrowserdatalh
370{
371    HWND                _hwnd;
372    ITravelLog          *_ptl;
373    IHlinkFrame         *_phlf;
374    IWebBrowser2        *_pautoWB2;
375    IExpDispSupport     *_pautoEDS;
376    IShellService       *_pautoSS;
377    int                 _eSecureLockIcon;
378    DWORD               _fCreatingViewWindow;
379    UINT                _uActivateState;
380
381    PCIDLIST_ABSOLUTE   _pidlNewShellView;
382
383    IOleCommandTarget   *_pctView;
384
385    PIDLIST_ABSOLUTE    _pidlCur;
386    IShellView          *_psv;
387    IShellFolder        *_psf;
388    HWND                _hwndView;
389    LPWSTR              _pszTitleCur;
390
391    PIDLIST_ABSOLUTE    _pidlPending;
392    IShellView          *_psvPending;
393    IShellFolder        *_psfPending;
394    HWND                _hwndViewPending;
395    LPWSTR              _pszTitlePending;
396
397    BOOL                _fIsViewMSHTML;
398    BOOL                _fPrivacyImpacted;
399    CLSID               _clsidView;
400    CLSID               _clsidViewPending;
401    HWND                _hwndFrame;
402    LONG                _lPhishingFilterStatus;
403} BASEBROWSERDATALH, *LPBASEBROWSERDATALH;
404cpp_quote("#include <poppack.h>")
405
406typedef BASEBROWSERDATAXP BASEBROWSERDATA;
407
408typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
409
410typedef BASEBROWSERDATA *LPBASEBROWSERDATA;
411
412cpp_quote("#define VIEW_PRIORITY_RESTRICTED         0x00000070")
413cpp_quote("#define VIEW_PRIORITY_CACHEHIT           0x00000050")
414cpp_quote("#define VIEW_PRIORITY_STALECACHEHIT      0x00000045")
415cpp_quote("#define VIEW_PRIORITY_USEASDEFAULT       0x00000043")
416cpp_quote("#define VIEW_PRIORITY_SHELLEXT           0x00000040")
417cpp_quote("#define VIEW_PRIORITY_CACHEMISS          0x00000030")
418cpp_quote("#define VIEW_PRIORITY_INHERIT            0x00000020")
419cpp_quote("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP  0x0015")
420cpp_quote("#define VIEW_PRIORITY_DESPERATE          0x00000010")
421cpp_quote("#define VIEW_PRIORITY_NONE               0x00000000")
422
423typedef struct tagFolderSetData {
424    FOLDERSETTINGS      _fs;
425    SHELLVIEWID         _vidRestore;
426    DWORD               _dwViewPriority;
427} FOLDERSETDATA, *LPFOLDERSETDATA;
428
429typedef struct SToolbarItem {
430    IDockingWindow      *ptbar;
431    BORDERWIDTHS        rcBorderTool;
432    LPWSTR              pwszItem;
433    BOOL                fShow;
434    HMONITOR            hMon;
435} TOOLBARITEM, *LPTOOLBARITEM;
436
437cpp_quote("#define ITB_VIEW        ((UINT)-1)")
438
439[
440    pointer_default(unique),
441    local,
442    object,
443    uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
444]
445interface IBrowserService2 : IBrowserService
446{
447    LRESULT WndProcBS(
448        [in] HWND hwnd,
449        [in] UINT uMsg,
450        [in] WPARAM wParam,
451        [in] LPARAM lParam);
452
453    HRESULT SetAsDefFolderSettings();
454
455    HRESULT GetViewRect(
456        [in, out] RECT *prc);
457
458    HRESULT OnSize(
459        [in] WPARAM wParam);
460
461    HRESULT OnCreate(
462        [in] struct tagCREATESTRUCTW *pcs);
463
464    LRESULT OnCommand(
465        [in] WPARAM wParam,
466        [in] LPARAM lParam);
467
468    HRESULT OnDestroy();
469
470    LRESULT OnNotify(
471        [in, out] struct tagNMHDR *pnm);
472
473    HRESULT OnSetFocus();
474
475    HRESULT OnFrameWindowActivateBS(
476        [in] BOOL fActive);
477
478    HRESULT ReleaseShellView();
479
480    HRESULT ActivatePendingView();
481
482    HRESULT CreateViewWindow(
483        [in] IShellView *psvNew,
484        [in] IShellView *psvOld,
485        [out] LPRECT prcView,
486        [out] HWND *phwnd);
487
488    HRESULT CreateBrowserPropSheetExt(
489        [in] REFIID riid,
490        [out] void **ppv);
491
492    HRESULT GetViewWindow(
493        [out] HWND *phwndView);
494
495    HRESULT GetBaseBrowserData(
496        [in, out] LPCBASEBROWSERDATA *pbbd);
497
498    LPBASEBROWSERDATA PutBaseBrowserData();
499
500    HRESULT InitializeTravelLog(
501        [in] ITravelLog *ptl,
502        [in] DWORD dw);
503
504    HRESULT SetTopBrowser();
505
506    HRESULT Offline(
507        [in] int iCmd);
508
509    HRESULT AllowViewResize(
510        [in] BOOL f);
511
512    HRESULT SetActivateState(
513        [in] UINT u);
514
515    HRESULT UpdateSecureLockIcon(
516        [in] int eSecureLock);
517
518    HRESULT InitializeDownloadManager();
519
520    HRESULT InitializeTransitionSite();
521
522    HRESULT _Initialize(
523        [in] HWND hwnd,
524        [in] IUnknown *pauto);
525
526    HRESULT _CancelPendingNavigationAsync();
527
528    HRESULT _CancelPendingView();
529
530    HRESULT _MaySaveChanges();
531
532    HRESULT _PauseOrResumeView(
533        [in] BOOL fPaused);
534
535    HRESULT _DisableModeless();
536
537    HRESULT _NavigateToPidl(
538        [in] PCIDLIST_ABSOLUTE pidl,
539        [in] DWORD grfHLNF,
540        [in] DWORD dwFlags);
541
542    HRESULT _TryShell2Rename(
543        [in] IShellView *psv,
544        [in] PCIDLIST_ABSOLUTE pidlNew);
545
546    HRESULT _SwitchActivationNow();
547
548    HRESULT _ExecChildren(
549        [in] IUnknown *punkBar,
550        [in] BOOL fBroadcast,
551        [in] const GUID *pguidCmdGroup,
552        [in] DWORD nCmdID,
553        [in] DWORD nCmdexecopt,
554        [in] VARIANTARG *pvarargIn,
555        [in, out] VARIANTARG *pvarargOut);
556
557    HRESULT _SendChildren(
558        [in] HWND hwndBar,
559        [in] BOOL fBroadcast,
560        [in] UINT uMsg,
561        [in] WPARAM wParam,
562        [in] LPARAM lParam);
563
564    HRESULT GetFolderSetData(
565        [in, out] struct tagFolderSetData *pfsd);
566
567    HRESULT _OnFocusChange(
568        [in] UINT itb);
569
570    HRESULT v_ShowHideChildWindows(
571        [in] BOOL fChildOnly);
572
573    UINT _get_itbLastFocus();
574
575    HRESULT _put_itbLastFocus(
576        [in] UINT itbLastFocus);
577
578    HRESULT _UIActivateView(
579        [in] UINT uState);
580
581    HRESULT _GetViewBorderRect(
582        [in, out] RECT* prc);
583
584    HRESULT _UpdateViewRectSize();
585
586    HRESULT _ResizeNextBorder(
587        [in] UINT itb);
588
589    HRESULT _ResizeView();
590
591    HRESULT _GetEffectiveClientArea(
592        [in, out] LPRECT lprectBorder,
593        [in] HMONITOR hmon);
594
595    IStream* v_GetViewStream(
596        [in] PCIDLIST_ABSOLUTE pidl,
597        [in] DWORD grfMode,
598        [in] LPCWSTR pwszName);
599
600    LRESULT ForwardViewMsg(
601        [in] UINT uMsg,
602        [in] WPARAM wParam,
603        [in] LPARAM lParam);
604
605    HRESULT SetAcceleratorMenu(
606        [in] HACCEL hacc);
607
608    int _GetToolbarCount();
609
610    LPTOOLBARITEM _GetToolbarItem(
611        [in] int itb);
612
613    HRESULT _SaveToolbars(
614        [in] IStream *pstm);
615
616    HRESULT _LoadToolbars(
617        [in] IStream *pstm);
618
619    HRESULT _CloseAndReleaseToolbars(
620        [in] BOOL fClose);
621
622    HRESULT v_MayGetNextToolbarFocus(
623        [in] LPMSG lpMsg,
624        [in] UINT itbNext,
625        [in] int citb,
626        [out] LPTOOLBARITEM *pptbi,
627        [out] HWND *phwnd);
628
629    HRESULT _ResizeNextBorderHelper(
630        [in] UINT itb,
631        [in] BOOL bUseHmonitor);
632
633    UINT _FindTBar(
634        [in] IUnknown *punkSrc);
635
636    HRESULT _SetFocus(
637        [in] LPTOOLBARITEM ptbi,
638        [in] HWND hwnd,
639        [in] LPMSG lpMsg);
640
641    HRESULT v_MayTranslateAccelerator(
642        [in] MSG* pmsg);
643
644    HRESULT _GetBorderDWHelper(
645        [in] IUnknown *punkSrc,
646        [in] LPRECT lprectBorder,
647        [in] BOOL bUseHmonitor);
648
649    HRESULT v_CheckZoneCrossing(
650        [in, out] PCIDLIST_ABSOLUTE pidl);
651};
652
653[
654    pointer_default(unique),
655    local,
656    object,
657    uuid(27D7CE21-762D-48F3-86F3-40E2FD3749C4)
658]
659interface IBrowserService3 : IBrowserService2
660{
661    HRESULT _PositionViewWindow(
662        [in] HWND hwnd,
663        [in] LPRECT prc);
664
665    HRESULT IEParseDisplayNameEx(
666        [in] UINT uiCP,
667        [in] LPCWSTR pwszPath,
668        [in] DWORD dwFlags,
669        [out] PIDLIST_ABSOLUTE *ppidlOut);
670};
671
672[
673    pointer_default(unique),
674    local,
675    object,
676    uuid(639f1bff-e135-4096-abd8-e0f504d649a4)
677]
678interface IBrowserService4 : IBrowserService3
679{
680    HRESULT ActivateView(
681        [in] BOOL fPendingView);
682
683    HRESULT SaveViewState();
684
685    HRESULT _ResizeAllBorders();
686};
687