[PSDK]
[reactos.git] / reactos / include / psdk / shdeprecated.idl
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
21 import "objidl.idl";
22 import "ocidl.idl";
23 import "shtypes.idl";
24 import "shobjidl.idl";
25 import "hlink.idl";
26 import "exdisp.idl";
27
28 cpp_quote("#define TLOG_BACK -1")
29 cpp_quote("#define TLOG_FORE 1")
30
31 cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
32 cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
33 cpp_quote("#define TLMENUF_BACK 0x00000010")
34 cpp_quote("#define TLMENUF_FORE 0x00000020")
35 cpp_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 ]
43 interface 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] LPITEMIDLIST *ppidl);
54 };
55
56 [
57 pointer_default(unique),
58 local,
59 object,
60 uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
61 ]
62 interface 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] LPCITEMIDLIST 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
114 typedef void *CIE4ConnectionPoint;
115
116 [
117 local,
118 object,
119 uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
120 ]
121 interface 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
142 typedef enum tagBNSTATE
143 {
144 BNS_NORMAL = 0,
145 BNS_BEGIN_NAVIGATE = 1,
146 BNS_NAVIGATE = 2
147 } BNSTATE;
148
149 enum {
150 SBSC_HIDE = 0,
151 SBSC_SHOW = 1,
152 SBSC_TOGGLE = 2,
153 SBSC_QUERY = 3
154 };
155
156 cpp_quote("#define BSF_REGISTERASDROPTARGET 0x00000001")
157 cpp_quote("#define BSF_THEATERMODE 0x00000002")
158 cpp_quote("#define BSF_NOLOCALFILEWARNING 0x00000010")
159 cpp_quote("#define BSF_UISETBYAUTOMATION 0x00000100")
160 cpp_quote("#define BSF_RESIZABLE 0x00000200")
161 cpp_quote("#define BSF_CANMAXIMIZE 0x00000400")
162 cpp_quote("#define BSF_TOPBROWSER 0x00000800")
163 cpp_quote("#define BSF_NAVNOHISTORY 0x00001000")
164 cpp_quote("#define BSF_HTMLNAVCANCELED 0x00002000")
165 cpp_quote("#define BSF_DONTSHOWNAVCANCELPAGE 0x00004000")
166 cpp_quote("#define BSF_SETNAVIGATABLECODEPAGE 0x00008000")
167 cpp_quote("#define BSF_DELEGATEDNAVIGATION 0x00010000")
168 cpp_quote("#define BSF_TRUSTEDFORACTIVEX 0x00020000")
169
170 cpp_quote("#define HLNF_CALLERUNTRUSTED 0x00200000")
171 cpp_quote("#define HLNF_TRUSTEDFORACTIVEX 0x00400000")
172 cpp_quote("#define HLNF_DISABLEWINDOWRESTRICTIONS 0x00800000")
173 cpp_quote("#define HLNF_TRUSTFIRSTDOWNLOAD 0x01000000")
174 cpp_quote("#define HLNF_UNTRUSTEDFORDOWNLOAD 0x02000000")
175 cpp_quote("#define SHHLNF_NOAUTOSELECT 0x04000000")
176 cpp_quote("#define SHHLNF_WRITENOHISTORY 0x08000000")
177 cpp_quote("#define HLNF_EXTERNALNAVIGATE 0x10000000")
178 cpp_quote("#define HLNF_ALLOW_AUTONAVIGATE 0x20000000")
179 cpp_quote("#define HLNF_NEWWINDOWSMANAGED 0x80000000")
180
181 [
182 pointer_default(unique),
183 local,
184 object,
185 uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
186 ]
187 interface 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 ]
305 interface IShellService : IUnknown
306 {
307 HRESULT SetOwner( [in] IUnknown *pUnk );
308 }
309
310 cpp_quote("#if 0")
311 typedef HANDLE HMONITOR;
312 cpp_quote("#endif")
313
314 enum {
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
333 cpp_quote("#include <pshpack8.h>")
334 typedef 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 LPCITEMIDLIST _pidlNewShellView;
347
348 IOleCommandTarget *_pctView;
349
350 LPITEMIDLIST _pidlCur;
351 IShellView *_psv;
352 IShellFolder *_psf;
353 HWND _hwndView;
354 LPWSTR _pszTitleCur;
355
356 LPITEMIDLIST _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
369 typedef 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 LPCITEMIDLIST _pidlNewShellView;
382
383 IOleCommandTarget *_pctView;
384
385 LPITEMIDLIST _pidlCur;
386 IShellView *_psv;
387 IShellFolder *_psf;
388 HWND _hwndView;
389 LPWSTR _pszTitleCur;
390
391 LPITEMIDLIST _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;
404 cpp_quote("#include <poppack.h>")
405
406 typedef BASEBROWSERDATAXP BASEBROWSERDATA;
407
408 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
409
410 typedef BASEBROWSERDATA *LPBASEBROWSERDATA;
411
412 cpp_quote("#define VIEW_PRIORITY_RESTRICTED 0x00000070")
413 cpp_quote("#define VIEW_PRIORITY_CACHEHIT 0x00000050")
414 cpp_quote("#define VIEW_PRIORITY_STALECACHEHIT 0x00000045")
415 cpp_quote("#define VIEW_PRIORITY_USEASDEFAULT 0x00000043")
416 cpp_quote("#define VIEW_PRIORITY_SHELLEXT 0x00000040")
417 cpp_quote("#define VIEW_PRIORITY_CACHEMISS 0x00000030")
418 cpp_quote("#define VIEW_PRIORITY_INHERIT 0x00000020")
419 cpp_quote("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015")
420 cpp_quote("#define VIEW_PRIORITY_DESPERATE 0x00000010")
421 cpp_quote("#define VIEW_PRIORITY_NONE 0x00000000")
422
423 typedef struct tagFolderSetData {
424 FOLDERSETTINGS _fs;
425 SHELLVIEWID _vidRestore;
426 DWORD _dwViewPriority;
427 } FOLDERSETDATA, *LPFOLDERSETDATA;
428
429 typedef struct SToolbarItem {
430 IDockingWindow *ptbar;
431 BORDERWIDTHS rcBorderTool;
432 LPWSTR pwszItem;
433 BOOL fShow;
434 HMONITOR hMon;
435 } TOOLBARITEM, *LPTOOLBARITEM;
436
437 cpp_quote("#define ITB_VIEW ((UINT)-1)")
438
439 [
440 pointer_default(unique),
441 local,
442 object,
443 uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
444 ]
445 interface IBrowserService2 : IBrowserService
446 {
447 LRESULT WndProcBS(
448 [in] HWND hwnd,
449 [in] UINT uMsg,
450 [in, out] WPARAM wParam,
451 [in, out] 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] LPCITEMIDLIST pidl,
539 [in] DWORD grfHLNF,
540 [in] DWORD dwFlags);
541
542 HRESULT _TryShell2Rename(
543 [in] IShellView *psv,
544 [in] LPCITEMIDLIST 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, out] WPARAM wParam,
562 [in, out] 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] LPCITEMIDLIST 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] LPCITEMIDLIST pidl);
651 };
652
653 [
654 pointer_default(unique),
655 local,
656 object,
657 uuid(27D7CE21-762D-48F3-86F3-40E2FD3749C4)
658 ]
659 interface 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] LPITEMIDLIST *ppidlOut);
670 };
671
672 [
673 pointer_default(unique),
674 local,
675 object,
676 uuid(639f1bff-e135-4096-abd8-e0f504d649a4)
677 ]
678 interface IBrowserService4 : IBrowserService3
679 {
680 HRESULT ActivateView(
681 [in] BOOL fPendingView);
682
683 HRESULT SaveViewState();
684
685 HRESULT _ResizeAllBorders();
686 };