comctl32: Validate the day of month when scrolling through years.
[wine] / include / 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 "shobjidl.idl";
24 import "hlink.idl";
25 import "exdisp.idl";
26
27 cpp_quote("#define TLOG_BACK    -1")
28 cpp_quote("#define TLOG_FORE    1")
29
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)")
35
36 [
37     hidden,
38     local,
39     object,
40     uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
41 ]
42 interface ITravelEntry : IUnknown
43 {
44     HRESULT Invoke(
45         [in] IUnknown *punk);
46
47     HRESULT Update(
48         [in] IUnknown *punk,
49         [in] BOOL fIsLocalAnchor);
50
51     HRESULT GetPidl(
52         [out] LPITEMIDLIST *ppidl);
53 };
54
55 [
56     hidden,
57     local,
58     object,
59     uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
60 ]
61 interface ITravelLog : IUnknown
62 {
63     HRESULT AddEntry(
64         [in] IUnknown *punk,
65         [in] BOOL fIsLocalAnchor);
66
67     HRESULT UpdateEntry(
68         [in] IUnknown *punk,
69         [in] BOOL fIsLocalAnchor);
70
71     HRESULT UpdateExternal(
72         [in] IUnknown *punk,
73         [in] IUnknown *punkHLBrowseContext);
74
75     HRESULT Travel(
76         [in] IUnknown *punk,
77         [in] int iOffset);
78
79     HRESULT GetTravelEntry(
80         [in]  IUnknown *punk,
81         [in]  int iOffset,
82         [optional, out] ITravelEntry **ppte);
83
84     HRESULT FindTravelEntry(
85         [in]  IUnknown *punk,
86         [in]  LPCITEMIDLIST pidl,
87         [out] ITravelEntry **ppte);
88
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);
95
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);
103
104     HRESULT Clone(
105         [out] ITravelLog **pptl);
106
107     DWORD CountEntries(
108         [in] IUnknown *punk);
109
110     HRESULT Revert();
111 };
112
113 typedef void *CIE4ConnectionPoint;
114
115 [
116     local,
117     object,
118     uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
119 ]
120 interface IExpDispSupport : IUnknown
121 {
122     HRESULT FindCIE4ConnectionPoint(
123         REFIID riid,
124         CIE4ConnectionPoint **ppccp);
125
126     HRESULT OnTranslateAccelerator(
127         MSG  *pMsg,
128         DWORD grfModifiers);
129
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);
139 };
140
141 typedef enum tagBNSTATE
142 {
143     BNS_NORMAL = 0,
144     BNS_BEGIN_NAVIGATE = 1,
145     BNS_NAVIGATE = 2
146
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     local,
183     object,
184     uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
185 ]
186 interface IBrowserService : IUnknown
187 {
188     HRESULT GetParentSite(
189         [out] IOleInPlaceSite **ppipsite);
190
191     HRESULT SetTitle(
192         [in] IShellView *psv,
193         [in] LPCWSTR pszName);
194
195     HRESULT GetTitle(
196         [in] IShellView *psv,
197         [out, size_is(cchName)] LPWSTR pszName,
198         [in] DWORD cchName);
199
200     HRESULT GetOleObject(
201         [out] IOleObject **ppobjv);
202
203     HRESULT GetTravelLog(
204         [out, optional] ITravelLog **pptl);
205
206     HRESULT ShowControlWindow(
207         [in] UINT id,
208         [in] BOOL fShow);
209
210     HRESULT IsControlWindowShown(
211         [in] UINT id,
212         [out] BOOL *pfShown);
213
214     HRESULT IEGetDisplayName(
215         [in] PCIDLIST_ABSOLUTE pidl,
216         [out] LPWSTR pwszName,
217         [in] UINT uFlags);
218
219     HRESULT IEParseDisplayName(
220         [in] UINT uiCP,
221         [in] LPCWSTR pwszPath,
222         [out] PIDLIST_ABSOLUTE *ppidlOut);
223
224     HRESULT DisplayParseError(
225         [in] HRESULT hres,
226         [in] LPCWSTR pwszPath);
227
228     HRESULT NavigateToPidl(
229         [in] PCIDLIST_ABSOLUTE pidl,
230         [in] DWORD grfHLNF);
231
232     HRESULT SetNavigateState(
233         [in] BNSTATE bnstate);
234
235     HRESULT GetNavigateState(
236         [out] BNSTATE *pbnstate);
237
238     HRESULT NotifyRedirect(
239         [in] IShellView *psv,
240         [in] PCIDLIST_ABSOLUTE pidl,
241         [out] BOOL *pfDidBrowse);
242
243     HRESULT UpdateWindowList();
244
245     HRESULT UpdateBackForwardState();
246
247     HRESULT SetFlags(
248         [in] DWORD dwFlags,
249         [in] DWORD dwFlagMask);
250
251     HRESULT GetFlags(
252         [out] DWORD *pdwFlags);
253
254     HRESULT CanNavigateNow();
255
256     HRESULT GetPidl(
257         [out] PIDLIST_ABSOLUTE *ppidl);
258
259     HRESULT SetReferrer(
260         [in] PCIDLIST_ABSOLUTE pidl);
261
262     DWORD GetBrowserIndex();
263
264     HRESULT GetBrowserByIndex(
265         [in] DWORD dwID,
266         [out] IUnknown **ppunk);
267
268     HRESULT GetHistoryObject(
269         [out] IOleObject **ppole,
270         [out] IStream **pstm,
271         [out] IBindCtx **ppbc);
272
273     HRESULT SetHistoryObject(
274         [in] IOleObject *pole,
275         [in] BOOL fIsLocalAnchor);
276
277     HRESULT CacheOLEServer(
278         [in] IOleObject *pole);
279
280     HRESULT GetSetCodePage(
281         [in] VARIANT *pvarIn,
282         [out] VARIANT *pvarOut);
283
284     HRESULT OnHttpEquiv(
285         [in] IShellView *psv,
286         [in] BOOL fDone,
287         [in] VARIANT *pvarargIn,
288         [out] VARIANT *pvarargOut);
289
290     HRESULT GetPalette(
291         [out] HPALETTE *hpal);
292
293     HRESULT RegisterWindow(
294         [in] BOOL fForceRegister,
295         [in] int swc);
296 }
297
298 [
299     object,
300     local,
301     uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
302 ]
303 interface IShellService : IUnknown
304 {
305     HRESULT SetOwner( [in] IUnknown *pUnk );
306 }
307
308 cpp_quote("#if 0")
309 typedef HANDLE HMONITOR;
310 cpp_quote("#endif")
311
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,
329 };
330
331
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;
342
343     LPCITEMIDLIST _pidlNewShellView;
344
345     IOleCommandTarget *_pctView;
346
347     LPITEMIDLIST _pidlCur;
348     IShellView *_psv;
349     IShellFolder *_psf;
350     HWND _hwndView;
351     LPWSTR _pszTitleCur;
352
353     LPITEMIDLIST _pidlPending;
354     IShellView *_psvPending;
355     IShellFolder *_psfPending;
356     HWND _hwndViewPending;
357     LPWSTR _pszTitlePending;
358
359     BOOL _fIsViewMSHTML;
360     BOOL _fPrivacyImpacted;
361
362 } BASEBROWSERDATA, *LPBASEBROWSERDATA;
363 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
364
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")
375
376 typedef struct tagFolderSetData {
377     FOLDERSETTINGS _fs;
378     SHELLVIEWID _vidRestore;
379     DWORD _dwViewPriority;
380 } FOLDERSETDATA, *LPFOLDERSETDATA;
381
382 typedef struct SToolbarItem {
383     IDockingWindow *ptbar;
384     BORDERWIDTHS rcBorderTool;
385     LPWSTR pwszItem;
386     BOOL fShow;
387     HMONITOR hMon;
388 } TOOLBARITEM, *LPTOOLBARITEM;
389
390 cpp_quote("#define ITB_VIEW        ((UINT)-1)")
391
392 [
393     local,
394     object,
395     uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
396 ]
397 interface IBrowserService2 : IBrowserService
398 {
399     LRESULT WndProcBS(
400         [in] HWND hwnd,
401         [in] UINT uMsg,
402         [in, out] WPARAM wParam,
403         [in, out] LPARAM lParam);
404
405     HRESULT SetAsDefFolderSettings();
406
407     HRESULT GetViewRect(
408         [in, out] RECT *prc);
409
410     HRESULT OnSize(
411         [in] WPARAM wParam);
412
413     HRESULT OnCreate(
414         [in] struct tagCREATESTRUCTW *pcs);
415
416     LRESULT OnCommand(
417         [in] WPARAM wParam,
418         [in] LPARAM lParam);
419
420     HRESULT OnDestroy();
421
422     LRESULT OnNotify(
423         [in, out] struct tagNMHDR *pnm);
424
425     HRESULT OnSetFocus();
426
427     HRESULT OnFrameWindowActivateBS(
428         [in] BOOL fActive);
429
430     HRESULT ReleaseShellView();
431
432     HRESULT ActivatePendingView();
433
434     HRESULT CreateViewWindow(
435         [in] IShellView *psvNew,
436         [in] IShellView *psvOld,
437         [out] LPRECT prcView,
438         [out] HWND *phwnd);
439
440     HRESULT CreateBrowserPropSheetExt(
441         [in] REFIID riid,
442         [out] void **ppv);
443
444     HRESULT GetViewWindow(
445         [out] HWND *phwndView);
446
447     HRESULT GetBaseBrowserData(
448         [in, out] LPCBASEBROWSERDATA *pbbd);
449
450     LPBASEBROWSERDATA PutBaseBrowserData();
451
452     HRESULT InitializeTravelLog(
453         [in] ITravelLog *ptl,
454         [in] DWORD dw);
455
456     HRESULT SetTopBrowser();
457
458     HRESULT Offline(
459         [in] int iCmd);
460
461     HRESULT AllowViewResize(
462         [in] BOOL f);
463
464     HRESULT SetActivateState(
465         [in] UINT u);
466
467     HRESULT UpdateSecureLockIcon(
468         [in] int eSecureLock);
469
470     HRESULT InitializeDownloadManager();
471
472     HRESULT InitializeTransitionSite();
473
474     HRESULT _Initialize(
475         [in] HWND hwnd,
476         [in] IUnknown *pauto);
477
478     HRESULT _CancelPendingNavigationAsync();
479
480     HRESULT _CancelPendingView();
481
482     HRESULT _MaySaveChanges();
483
484     HRESULT _PauseOrResumeView(
485         [in] BOOL fPaused);
486
487     HRESULT _DisableModeless();
488
489     HRESULT _NavigateToPidl(
490         [in] LPCITEMIDLIST pidl,
491         [in] DWORD grfHLNF,
492         [in] DWORD dwFlags);
493
494     HRESULT _TryShell2Rename(
495         [in] IShellView *psv,
496         [in] LPCITEMIDLIST pidlNew);
497
498     HRESULT _SwitchActivationNow();
499
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);
508
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);
515
516     HRESULT GetFolderSetData(
517         [in, out] struct tagFolderSetData *pfsd);
518
519     HRESULT _OnFocusChange(
520         [in] UINT itb);
521
522     HRESULT v_ShowHideChildWindows(
523         [in] BOOL fChildOnly);
524
525     UINT _get_itbLastFocus();
526
527     HRESULT _put_itbLastFocus(
528         [in] UINT itbLastFocus);
529
530     HRESULT _UIActivateView(
531         [in] UINT uState);
532
533     HRESULT _GetViewBorderRect(
534         [in, out] RECT* prc);
535
536     HRESULT _UpdateViewRectSize();
537
538     HRESULT _ResizeNextBorder(
539         [in] UINT itb);
540
541     HRESULT _ResizeView();
542
543     HRESULT _GetEffectiveClientArea(
544         [in, out] LPRECT lprectBorder,
545         [in] HMONITOR hmon);
546
547     IStream* v_GetViewStream(
548         [in] LPCITEMIDLIST pidl,
549         [in] DWORD grfMode,
550         [in] LPCWSTR pwszName);
551
552     LRESULT ForwardViewMsg(
553         [in] UINT uMsg,
554         [in] WPARAM wParam,
555         [in] LPARAM lParam);
556
557     HRESULT SetAcceleratorMenu(
558         [in] HACCEL hacc);
559
560     int _GetToolbarCount();
561
562     LPTOOLBARITEM _GetToolbarItem(
563         [in] int itb);
564
565     HRESULT _SaveToolbars(
566         [in] IStream *pstm);
567
568     HRESULT _LoadToolbars(
569         [in] IStream *pstm);
570
571     HRESULT _CloseAndReleaseToolbars(
572         [in] BOOL fClose);
573
574     HRESULT v_MayGetNextToolbarFocus(
575         [in] LPMSG lpMsg,
576         [in] UINT itbNext,
577         [in] int citb,
578         [out] LPTOOLBARITEM *pptbi,
579         [out] HWND *phwnd);
580
581     HRESULT _ResizeNextBorderHelper(
582         [in] UINT itb,
583         [in] BOOL bUseHmonitor);
584
585     UINT _FindTBar(
586         [in] IUnknown *punkSrc);
587
588     HRESULT _SetFocus(
589         [in] LPTOOLBARITEM ptbi,
590         [in] HWND hwnd,
591         [in] LPMSG lpMsg);
592
593     HRESULT v_MayTranslateAccelerator(
594         [in] MSG* pmsg);
595
596     HRESULT _GetBorderDWHelper(
597         [in] IUnknown *punkSrc,
598         [in] LPRECT lprectBorder,
599         [in] BOOL bUseHmonitor);
600
601     HRESULT v_CheckZoneCrossing(
602         [in, out] LPCITEMIDLIST pidl);
603 };