shell32: Implement restoring items from the recycle bin.
[wine/multimedia.git] / include / shdeprecated.idl
blob9a382d77f20bb88e323158feedaae1c82bb8e383
1 /*
2 * Deprecated shell interfaces
4 * Copyright (C) 2010 Nikolay Sivov for CodeWeavers
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.
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.
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
21 import "objidl.idl";
22 import "ocidl.idl";
23 import "shobjidl.idl";
24 import "hlink.idl";
25 import "exdisp.idl";
27 cpp_quote("#define TLOG_BACK -1")
28 cpp_quote("#define TLOG_FORE 1")
30 cpp_quote("#define TLMENUF_INCLUDECURRENT 0x00000001")
31 cpp_quote("#define TLMENUF_CHECKCURRENT (TLMENUF_INCLUDECURRENT | 0x00000002)")
32 cpp_quote("#define TLMENUF_BACK 0x00000010")
33 cpp_quote("#define TLMENUF_FORE 0x00000020")
34 cpp_quote("#define TLMENUF_BACKANDFORTH (TLMENUF_BACK | TLMENUF_FORE | TLMENUF_INCLUDECURRENT)")
37 hidden,
38 local,
39 object,
40 uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
42 interface ITravelEntry : IUnknown
44 HRESULT Invoke(
45 [in] IUnknown *punk);
47 HRESULT Update(
48 [in] IUnknown *punk,
49 [in] BOOL fIsLocalAnchor);
51 HRESULT GetPidl(
52 [out] LPITEMIDLIST *ppidl);
56 hidden,
57 local,
58 object,
59 uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
61 interface ITravelLog : IUnknown
63 HRESULT AddEntry(
64 [in] IUnknown *punk,
65 [in] BOOL fIsLocalAnchor);
67 HRESULT UpdateEntry(
68 [in] IUnknown *punk,
69 [in] BOOL fIsLocalAnchor);
71 HRESULT UpdateExternal(
72 [in] IUnknown *punk,
73 [in] IUnknown *punkHLBrowseContext);
75 HRESULT Travel(
76 [in] IUnknown *punk,
77 [in] int iOffset);
79 HRESULT GetTravelEntry(
80 [in] IUnknown *punk,
81 [in] int iOffset,
82 [optional, out] ITravelEntry **ppte);
84 HRESULT FindTravelEntry(
85 [in] IUnknown *punk,
86 [in] LPCITEMIDLIST pidl,
87 [out] ITravelEntry **ppte);
89 HRESULT GetToolTipText(
90 [in] IUnknown *punk,
91 [in] int iOffset,
92 [in] int idsTemplate,
93 [out, size_is(cchText)] LPWSTR pwzText,
94 [in] DWORD cchText);
96 HRESULT InsertMenuEntries(
97 [in] IUnknown *punk,
98 [in] HMENU hmenu,
99 [in] int nPos,
100 [in] int idFirst,
101 [in] int idLast,
102 [in] DWORD dwFlags);
104 HRESULT Clone(
105 [out] ITravelLog **pptl);
107 DWORD CountEntries(
108 [in] IUnknown *punk);
110 HRESULT Revert();
113 typedef void *CIE4ConnectionPoint;
116 local,
117 object,
118 uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
120 interface IExpDispSupport : IUnknown
122 HRESULT FindCIE4ConnectionPoint(
123 REFIID riid,
124 CIE4ConnectionPoint **ppccp);
126 HRESULT OnTranslateAccelerator(
127 MSG *pMsg,
128 DWORD grfModifiers);
130 HRESULT OnInvoke(
131 DISPID dispidMember,
132 REFIID iid,
133 LCID lcid,
134 WORD wFlags,
135 DISPPARAMS *pdispparams,
136 VARIANT *pVarResult,
137 EXCEPINFO *pexcepinfo,
138 UINT *puArgErr);
141 typedef enum tagBNSTATE
143 BNS_NORMAL = 0,
144 BNS_BEGIN_NAVIGATE = 1,
145 BNS_NAVIGATE = 2
147 } BNSTATE;
149 enum {
150 SBSC_HIDE = 0,
151 SBSC_SHOW = 1,
152 SBSC_TOGGLE = 2,
153 SBSC_QUERY = 3
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")
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")
182 local,
183 object,
184 uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
186 interface IBrowserService : IUnknown
188 HRESULT GetParentSite(
189 [out] IOleInPlaceSite **ppipsite);
191 HRESULT SetTitle(
192 [in] IShellView *psv,
193 [in] LPCWSTR pszName);
195 HRESULT GetTitle(
196 [in] IShellView *psv,
197 [out, size_is(cchName)] LPWSTR pszName,
198 [in] DWORD cchName);
200 HRESULT GetOleObject(
201 [out] IOleObject **ppobjv);
203 HRESULT GetTravelLog(
204 [out, optional] ITravelLog **pptl);
206 HRESULT ShowControlWindow(
207 [in] UINT id,
208 [in] BOOL fShow);
210 HRESULT IsControlWindowShown(
211 [in] UINT id,
212 [out] BOOL *pfShown);
214 HRESULT IEGetDisplayName(
215 [in] PCIDLIST_ABSOLUTE pidl,
216 [out] LPWSTR pwszName,
217 [in] UINT uFlags);
219 HRESULT IEParseDisplayName(
220 [in] UINT uiCP,
221 [in] LPCWSTR pwszPath,
222 [out] PIDLIST_ABSOLUTE *ppidlOut);
224 HRESULT DisplayParseError(
225 [in] HRESULT hres,
226 [in] LPCWSTR pwszPath);
228 HRESULT NavigateToPidl(
229 [in] PCIDLIST_ABSOLUTE pidl,
230 [in] DWORD grfHLNF);
232 HRESULT SetNavigateState(
233 [in] BNSTATE bnstate);
235 HRESULT GetNavigateState(
236 [out] BNSTATE *pbnstate);
238 HRESULT NotifyRedirect(
239 [in] IShellView *psv,
240 [in] PCIDLIST_ABSOLUTE pidl,
241 [out] BOOL *pfDidBrowse);
243 HRESULT UpdateWindowList();
245 HRESULT UpdateBackForwardState();
247 HRESULT SetFlags(
248 [in] DWORD dwFlags,
249 [in] DWORD dwFlagMask);
251 HRESULT GetFlags(
252 [out] DWORD *pdwFlags);
254 HRESULT CanNavigateNow();
256 HRESULT GetPidl(
257 [out] PIDLIST_ABSOLUTE *ppidl);
259 HRESULT SetReferrer(
260 [in] PCIDLIST_ABSOLUTE pidl);
262 DWORD GetBrowserIndex();
264 HRESULT GetBrowserByIndex(
265 [in] DWORD dwID,
266 [out] IUnknown **ppunk);
268 HRESULT GetHistoryObject(
269 [out] IOleObject **ppole,
270 [out] IStream **pstm,
271 [out] IBindCtx **ppbc);
273 HRESULT SetHistoryObject(
274 [in] IOleObject *pole,
275 [in] BOOL fIsLocalAnchor);
277 HRESULT CacheOLEServer(
278 [in] IOleObject *pole);
280 HRESULT GetSetCodePage(
281 [in] VARIANT *pvarIn,
282 [out] VARIANT *pvarOut);
284 HRESULT OnHttpEquiv(
285 [in] IShellView *psv,
286 [in] BOOL fDone,
287 [in] VARIANT *pvarargIn,
288 [out] VARIANT *pvarargOut);
290 HRESULT GetPalette(
291 [out] HPALETTE *hpal);
293 HRESULT RegisterWindow(
294 [in] BOOL fForceRegister,
295 [in] int swc);
299 object,
300 local,
301 uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
303 interface IShellService : IUnknown
305 HRESULT SetOwner( [in] IUnknown *pUnk );
308 cpp_quote("#if 0")
309 typedef HANDLE HMONITOR;
310 cpp_quote("#endif")
312 enum {
313 SECURELOCK_NOCHANGE = -1,
314 SECURELOCK_SET_UNSECURE = 0,
315 SECURELOCK_SET_MIXED = 1,
316 SECURELOCK_SET_SECUREUNKNOWNBIT = 2,
317 SECURELOCK_SET_SECURE40BIT = 3,
318 SECURELOCK_SET_SECURE56BIT = 4,
319 SECURELOCK_SET_FORTEZZA = 5,
320 SECURELOCK_SET_SECURE128BIT = 6,
321 SECURELOCK_FIRSTSUGGEST = 7,
322 SECURELOCK_SUGGEST_UNSECURE = SECURELOCK_FIRSTSUGGEST,
323 SECURELOCK_SUGGEST_MIXED = 8,
324 SECURELOCK_SUGGEST_SECUREUNKNOWNBIT = 9,
325 SECURELOCK_SUGGEST_SECURE40BIT = 10,
326 SECURELOCK_SUGGEST_SECURE56BIT = 11,
327 SECURELOCK_SUGGEST_FORTEZZA = 12,
328 SECURELOCK_SUGGEST_SECURE128BIT = 13,
332 typedef struct {
333 HWND _hwnd;
334 ITravelLog *_ptl;
335 IHlinkFrame *_phlf;
336 IWebBrowser2 *_pautoWB2;
337 IExpDispSupport *_pautoEDS;
338 IShellService *_pautoSS;
339 int _eSecureLockIcon;
340 DWORD _fCreatingViewWindow;
341 UINT _uActivateState;
343 LPCITEMIDLIST _pidlNewShellView;
345 IOleCommandTarget *_pctView;
347 LPITEMIDLIST _pidlCur;
348 IShellView *_psv;
349 IShellFolder *_psf;
350 HWND _hwndView;
351 LPWSTR _pszTitleCur;
353 LPITEMIDLIST _pidlPending;
354 IShellView *_psvPending;
355 IShellFolder *_psfPending;
356 HWND _hwndViewPending;
357 LPWSTR _pszTitlePending;
359 BOOL _fIsViewMSHTML;
360 BOOL _fPrivacyImpacted;
362 } BASEBROWSERDATA, *LPBASEBROWSERDATA;
363 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
365 cpp_quote("#define VIEW_PRIORITY_RESTRICTED 0x00000070")
366 cpp_quote("#define VIEW_PRIORITY_CACHEHIT 0x00000050")
367 cpp_quote("#define VIEW_PRIORITY_STALECACHEHIT 0x00000045")
368 cpp_quote("#define VIEW_PRIORITY_USEASDEFAULT 0x00000043")
369 cpp_quote("#define VIEW_PRIORITY_SHELLEXT 0x00000040")
370 cpp_quote("#define VIEW_PRIORITY_CACHEMISS 0x00000030")
371 cpp_quote("#define VIEW_PRIORITY_INHERIT 0x00000020")
372 cpp_quote("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015")
373 cpp_quote("#define VIEW_PRIORITY_DESPERATE 0x00000010")
374 cpp_quote("#define VIEW_PRIORITY_NONE 0x00000000")
376 typedef struct tagFolderSetData {
377 FOLDERSETTINGS _fs;
378 SHELLVIEWID _vidRestore;
379 DWORD _dwViewPriority;
380 } FOLDERSETDATA, *LPFOLDERSETDATA;
382 typedef struct SToolbarItem {
383 IDockingWindow *ptbar;
384 BORDERWIDTHS rcBorderTool;
385 LPWSTR pwszItem;
386 BOOL fShow;
387 HMONITOR hMon;
388 } TOOLBARITEM, *LPTOOLBARITEM;
390 cpp_quote("#define ITB_VIEW ((UINT)-1)")
393 local,
394 object,
395 uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
397 interface IBrowserService2 : IBrowserService
399 LRESULT WndProcBS(
400 [in] HWND hwnd,
401 [in] UINT uMsg,
402 [in, out] WPARAM wParam,
403 [in, out] LPARAM lParam);
405 HRESULT SetAsDefFolderSettings();
407 HRESULT GetViewRect(
408 [in, out] RECT *prc);
410 HRESULT OnSize(
411 [in] WPARAM wParam);
413 HRESULT OnCreate(
414 [in] struct tagCREATESTRUCTW *pcs);
416 LRESULT OnCommand(
417 [in] WPARAM wParam,
418 [in] LPARAM lParam);
420 HRESULT OnDestroy();
422 LRESULT OnNotify(
423 [in, out] struct tagNMHDR *pnm);
425 HRESULT OnSetFocus();
427 HRESULT OnFrameWindowActivateBS(
428 [in] BOOL fActive);
430 HRESULT ReleaseShellView();
432 HRESULT ActivatePendingView();
434 HRESULT CreateViewWindow(
435 [in] IShellView *psvNew,
436 [in] IShellView *psvOld,
437 [out] LPRECT prcView,
438 [out] HWND *phwnd);
440 HRESULT CreateBrowserPropSheetExt(
441 [in] REFIID riid,
442 [out] void **ppv);
444 HRESULT GetViewWindow(
445 [out] HWND *phwndView);
447 HRESULT GetBaseBrowserData(
448 [in, out] LPCBASEBROWSERDATA *pbbd);
450 LPBASEBROWSERDATA PutBaseBrowserData();
452 HRESULT InitializeTravelLog(
453 [in] ITravelLog *ptl,
454 [in] DWORD dw);
456 HRESULT SetTopBrowser();
458 HRESULT Offline(
459 [in] int iCmd);
461 HRESULT AllowViewResize(
462 [in] BOOL f);
464 HRESULT SetActivateState(
465 [in] UINT u);
467 HRESULT UpdateSecureLockIcon(
468 [in] int eSecureLock);
470 HRESULT InitializeDownloadManager();
472 HRESULT InitializeTransitionSite();
474 HRESULT _Initialize(
475 [in] HWND hwnd,
476 [in] IUnknown *pauto);
478 HRESULT _CancelPendingNavigationAsync();
480 HRESULT _CancelPendingView();
482 HRESULT _MaySaveChanges();
484 HRESULT _PauseOrResumeView(
485 [in] BOOL fPaused);
487 HRESULT _DisableModeless();
489 HRESULT _NavigateToPidl(
490 [in] LPCITEMIDLIST pidl,
491 [in] DWORD grfHLNF,
492 [in] DWORD dwFlags);
494 HRESULT _TryShell2Rename(
495 [in] IShellView *psv,
496 [in] LPCITEMIDLIST pidlNew);
498 HRESULT _SwitchActivationNow();
500 HRESULT _ExecChildren(
501 [in] IUnknown *punkBar,
502 [in] BOOL fBroadcast,
503 [in] const GUID *pguidCmdGroup,
504 [in] DWORD nCmdID,
505 [in] DWORD nCmdexecopt,
506 [in] VARIANTARG *pvarargIn,
507 [in, out] VARIANTARG *pvarargOut);
509 HRESULT _SendChildren(
510 [in] HWND hwndBar,
511 [in] BOOL fBroadcast,
512 [in] UINT uMsg,
513 [in, out] WPARAM wParam,
514 [in, out] LPARAM lParam);
516 HRESULT GetFolderSetData(
517 [in, out] struct tagFolderSetData *pfsd);
519 HRESULT _OnFocusChange(
520 [in] UINT itb);
522 HRESULT v_ShowHideChildWindows(
523 [in] BOOL fChildOnly);
525 UINT _get_itbLastFocus();
527 HRESULT _put_itbLastFocus(
528 [in] UINT itbLastFocus);
530 HRESULT _UIActivateView(
531 [in] UINT uState);
533 HRESULT _GetViewBorderRect(
534 [in, out] RECT* prc);
536 HRESULT _UpdateViewRectSize();
538 HRESULT _ResizeNextBorder(
539 [in] UINT itb);
541 HRESULT _ResizeView();
543 HRESULT _GetEffectiveClientArea(
544 [in, out] LPRECT lprectBorder,
545 [in] HMONITOR hmon);
547 IStream* v_GetViewStream(
548 [in] LPCITEMIDLIST pidl,
549 [in] DWORD grfMode,
550 [in] LPCWSTR pwszName);
552 LRESULT ForwardViewMsg(
553 [in] UINT uMsg,
554 [in] WPARAM wParam,
555 [in] LPARAM lParam);
557 HRESULT SetAcceleratorMenu(
558 [in] HACCEL hacc);
560 int _GetToolbarCount();
562 LPTOOLBARITEM _GetToolbarItem(
563 [in] int itb);
565 HRESULT _SaveToolbars(
566 [in] IStream *pstm);
568 HRESULT _LoadToolbars(
569 [in] IStream *pstm);
571 HRESULT _CloseAndReleaseToolbars(
572 [in] BOOL fClose);
574 HRESULT v_MayGetNextToolbarFocus(
575 [in] LPMSG lpMsg,
576 [in] UINT itbNext,
577 [in] int citb,
578 [out] LPTOOLBARITEM *pptbi,
579 [out] HWND *phwnd);
581 HRESULT _ResizeNextBorderHelper(
582 [in] UINT itb,
583 [in] BOOL bUseHmonitor);
585 UINT _FindTBar(
586 [in] IUnknown *punkSrc);
588 HRESULT _SetFocus(
589 [in] LPTOOLBARITEM ptbi,
590 [in] HWND hwnd,
591 [in] LPMSG lpMsg);
593 HRESULT v_MayTranslateAccelerator(
594 [in] MSG* pmsg);
596 HRESULT _GetBorderDWHelper(
597 [in] IUnknown *punkSrc,
598 [in] LPRECT lprectBorder,
599 [in] BOOL bUseHmonitor);
601 HRESULT v_CheckZoneCrossing(
602 [in, out] LPCITEMIDLIST pidl);