gdiplus/metafile: Fully initialize record header on allocation.
[wine/zf.git] / include / shdeprecated.idl
blobc8bb3fd9bf0746a5e8b991c1a9ca9cd2832619b0
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 "shtypes.idl";
24 import "shobjidl.idl";
25 import "hlink.idl";
26 import "exdisp.idl";
28 cpp_quote("#define TLOG_BACK -1")
29 cpp_quote("#define TLOG_FORE 1")
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)")
37 cpp_quote("#ifndef INTERNET_MAX_URL_LENGTH")
38 cpp_quote("#define INTERNET_MAX_PATH_LENGTH 2048")
39 cpp_quote("#define INTERNET_MAX_SCHEME_LENGTH 32")
40 cpp_quote("#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH + sizeof(\"://\")+ INTERNET_MAX_PATH_LENGTH)")
41 cpp_quote("#endif")
44 hidden,
45 local,
46 object,
47 uuid(F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3)
49 interface ITravelEntry : IUnknown
51 HRESULT Invoke(
52 [in] IUnknown *punk);
54 HRESULT Update(
55 [in] IUnknown *punk,
56 [in] BOOL fIsLocalAnchor);
58 HRESULT GetPidl(
59 [out] LPITEMIDLIST *ppidl);
63 hidden,
64 local,
65 object,
66 uuid(66A9CB08-4802-11d2-A561-00A0C92DBFE8)
68 interface ITravelLog : IUnknown
70 HRESULT AddEntry(
71 [in] IUnknown *punk,
72 [in] BOOL fIsLocalAnchor);
74 HRESULT UpdateEntry(
75 [in] IUnknown *punk,
76 [in] BOOL fIsLocalAnchor);
78 HRESULT UpdateExternal(
79 [in] IUnknown *punk,
80 [in] IUnknown *punkHLBrowseContext);
82 HRESULT Travel(
83 [in] IUnknown *punk,
84 [in] int iOffset);
86 HRESULT GetTravelEntry(
87 [in] IUnknown *punk,
88 [in] int iOffset,
89 [optional, out] ITravelEntry **ppte);
91 HRESULT FindTravelEntry(
92 [in] IUnknown *punk,
93 [in] LPCITEMIDLIST pidl,
94 [out] ITravelEntry **ppte);
96 HRESULT GetToolTipText(
97 [in] IUnknown *punk,
98 [in] int iOffset,
99 [in] int idsTemplate,
100 [out, size_is(cchText)] LPWSTR pwzText,
101 [in] DWORD cchText);
103 HRESULT InsertMenuEntries(
104 [in] IUnknown *punk,
105 [in] HMENU hmenu,
106 [in] int nPos,
107 [in] int idFirst,
108 [in] int idLast,
109 [in] DWORD dwFlags);
111 HRESULT Clone(
112 [out] ITravelLog **pptl);
114 DWORD CountEntries(
115 [in] IUnknown *punk);
117 HRESULT Revert();
120 typedef void *CIE4ConnectionPoint;
123 local,
124 object,
125 uuid(0D7D1D00-6FC0-11D0-A974-00C04FD705A2)
127 interface IExpDispSupport : IUnknown
129 HRESULT FindCIE4ConnectionPoint(
130 REFIID riid,
131 CIE4ConnectionPoint **ppccp);
133 HRESULT OnTranslateAccelerator(
134 MSG *pMsg,
135 DWORD grfModifiers);
137 HRESULT OnInvoke(
138 DISPID dispidMember,
139 REFIID iid,
140 LCID lcid,
141 WORD wFlags,
142 DISPPARAMS *pdispparams,
143 VARIANT *pVarResult,
144 EXCEPINFO *pexcepinfo,
145 UINT *puArgErr);
148 typedef enum tagBNSTATE
150 BNS_NORMAL = 0,
151 BNS_BEGIN_NAVIGATE = 1,
152 BNS_NAVIGATE = 2
154 } BNSTATE;
156 enum {
157 SBSC_HIDE = 0,
158 SBSC_SHOW = 1,
159 SBSC_TOGGLE = 2,
160 SBSC_QUERY = 3
163 cpp_quote("#define BSF_REGISTERASDROPTARGET 0x00000001")
164 cpp_quote("#define BSF_THEATERMODE 0x00000002")
165 cpp_quote("#define BSF_NOLOCALFILEWARNING 0x00000010")
166 cpp_quote("#define BSF_UISETBYAUTOMATION 0x00000100")
167 cpp_quote("#define BSF_RESIZABLE 0x00000200")
168 cpp_quote("#define BSF_CANMAXIMIZE 0x00000400")
169 cpp_quote("#define BSF_TOPBROWSER 0x00000800")
170 cpp_quote("#define BSF_NAVNOHISTORY 0x00001000")
171 cpp_quote("#define BSF_HTMLNAVCANCELED 0x00002000")
172 cpp_quote("#define BSF_DONTSHOWNAVCANCELPAGE 0x00004000")
173 cpp_quote("#define BSF_SETNAVIGATABLECODEPAGE 0x00008000")
174 cpp_quote("#define BSF_DELEGATEDNAVIGATION 0x00010000")
175 cpp_quote("#define BSF_TRUSTEDFORACTIVEX 0x00020000")
177 cpp_quote("#define HLNF_CALLERUNTRUSTED 0x00200000")
178 cpp_quote("#define HLNF_TRUSTEDFORACTIVEX 0x00400000")
179 cpp_quote("#define HLNF_DISABLEWINDOWRESTRICTIONS 0x00800000")
180 cpp_quote("#define HLNF_TRUSTFIRSTDOWNLOAD 0x01000000")
181 cpp_quote("#define HLNF_UNTRUSTEDFORDOWNLOAD 0x02000000")
182 cpp_quote("#define SHHLNF_NOAUTOSELECT 0x04000000")
183 cpp_quote("#define SHHLNF_WRITENOHISTORY 0x08000000")
184 cpp_quote("#define HLNF_EXTERNALNAVIGATE 0x10000000")
185 cpp_quote("#define HLNF_ALLOW_AUTONAVIGATE 0x20000000")
186 cpp_quote("#define HLNF_NEWWINDOWSMANAGED 0x80000000")
189 local,
190 object,
191 uuid(02ba3b52-0547-11d1-b833-00c04fc9b31f)
193 interface IBrowserService : IUnknown
195 HRESULT GetParentSite(
196 [out] IOleInPlaceSite **ppipsite);
198 HRESULT SetTitle(
199 [in] IShellView *psv,
200 [in] LPCWSTR pszName);
202 HRESULT GetTitle(
203 [in] IShellView *psv,
204 [out, size_is(cchName)] LPWSTR pszName,
205 [in] DWORD cchName);
207 HRESULT GetOleObject(
208 [out] IOleObject **ppobjv);
210 HRESULT GetTravelLog(
211 [out, optional] ITravelLog **pptl);
213 HRESULT ShowControlWindow(
214 [in] UINT id,
215 [in] BOOL fShow);
217 HRESULT IsControlWindowShown(
218 [in] UINT id,
219 [out] BOOL *pfShown);
221 HRESULT IEGetDisplayName(
222 [in] PCIDLIST_ABSOLUTE pidl,
223 [out, size_is(INTERNET_MAX_URL_LENGTH)] LPWSTR pwszName,
224 [in] UINT uFlags);
226 HRESULT IEParseDisplayName(
227 [in] UINT uiCP,
228 [in] LPCWSTR pwszPath,
229 [out] PIDLIST_ABSOLUTE *ppidlOut);
231 HRESULT DisplayParseError(
232 [in] HRESULT hres,
233 [in] LPCWSTR pwszPath);
235 HRESULT NavigateToPidl(
236 [in] PCIDLIST_ABSOLUTE pidl,
237 [in] DWORD grfHLNF);
239 HRESULT SetNavigateState(
240 [in] BNSTATE bnstate);
242 HRESULT GetNavigateState(
243 [out] BNSTATE *pbnstate);
245 HRESULT NotifyRedirect(
246 [in] IShellView *psv,
247 [in] PCIDLIST_ABSOLUTE pidl,
248 [out] BOOL *pfDidBrowse);
250 HRESULT UpdateWindowList();
252 HRESULT UpdateBackForwardState();
254 HRESULT SetFlags(
255 [in] DWORD dwFlags,
256 [in] DWORD dwFlagMask);
258 HRESULT GetFlags(
259 [out] DWORD *pdwFlags);
261 HRESULT CanNavigateNow();
263 HRESULT GetPidl(
264 [out] PIDLIST_ABSOLUTE *ppidl);
266 HRESULT SetReferrer(
267 [in] PCIDLIST_ABSOLUTE pidl);
269 DWORD GetBrowserIndex();
271 HRESULT GetBrowserByIndex(
272 [in] DWORD dwID,
273 [out] IUnknown **ppunk);
275 HRESULT GetHistoryObject(
276 [out] IOleObject **ppole,
277 [out] IStream **pstm,
278 [out] IBindCtx **ppbc);
280 HRESULT SetHistoryObject(
281 [in] IOleObject *pole,
282 [in] BOOL fIsLocalAnchor);
284 HRESULT CacheOLEServer(
285 [in] IOleObject *pole);
287 HRESULT GetSetCodePage(
288 [in] VARIANT *pvarIn,
289 [out] VARIANT *pvarOut);
291 HRESULT OnHttpEquiv(
292 [in] IShellView *psv,
293 [in] BOOL fDone,
294 [in] VARIANT *pvarargIn,
295 [out] VARIANT *pvarargOut);
297 HRESULT GetPalette(
298 [out] HPALETTE *hpal);
300 HRESULT RegisterWindow(
301 [in] BOOL fForceRegister,
302 [in] int swc);
306 object,
307 local,
308 uuid(5836fb00-8187-11cf-a12b-00aa004ae837)
310 interface IShellService : IUnknown
312 HRESULT SetOwner( [in] IUnknown *pUnk );
315 cpp_quote("#if 0")
316 typedef HANDLE HMONITOR;
317 cpp_quote("#endif")
319 enum {
320 SECURELOCK_NOCHANGE = -1,
321 SECURELOCK_SET_UNSECURE = 0,
322 SECURELOCK_SET_MIXED = 1,
323 SECURELOCK_SET_SECUREUNKNOWNBIT = 2,
324 SECURELOCK_SET_SECURE40BIT = 3,
325 SECURELOCK_SET_SECURE56BIT = 4,
326 SECURELOCK_SET_FORTEZZA = 5,
327 SECURELOCK_SET_SECURE128BIT = 6,
328 SECURELOCK_FIRSTSUGGEST = 7,
329 SECURELOCK_SUGGEST_UNSECURE = SECURELOCK_FIRSTSUGGEST,
330 SECURELOCK_SUGGEST_MIXED = 8,
331 SECURELOCK_SUGGEST_SECUREUNKNOWNBIT = 9,
332 SECURELOCK_SUGGEST_SECURE40BIT = 10,
333 SECURELOCK_SUGGEST_SECURE56BIT = 11,
334 SECURELOCK_SUGGEST_FORTEZZA = 12,
335 SECURELOCK_SUGGEST_SECURE128BIT = 13,
339 typedef struct {
340 HWND _hwnd;
341 ITravelLog *_ptl;
342 IHlinkFrame *_phlf;
343 IWebBrowser2 *_pautoWB2;
344 IExpDispSupport *_pautoEDS;
345 IShellService *_pautoSS;
346 int _eSecureLockIcon;
347 DWORD _fCreatingViewWindow;
348 UINT _uActivateState;
350 LPCITEMIDLIST _pidlNewShellView;
352 IOleCommandTarget *_pctView;
354 LPITEMIDLIST _pidlCur;
355 IShellView *_psv;
356 IShellFolder *_psf;
357 HWND _hwndView;
358 LPWSTR _pszTitleCur;
360 LPITEMIDLIST _pidlPending;
361 IShellView *_psvPending;
362 IShellFolder *_psfPending;
363 HWND _hwndViewPending;
364 LPWSTR _pszTitlePending;
366 BOOL _fIsViewMSHTML;
367 BOOL _fPrivacyImpacted;
369 } BASEBROWSERDATA, *LPBASEBROWSERDATA;
370 typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
372 cpp_quote("#define VIEW_PRIORITY_RESTRICTED 0x00000070")
373 cpp_quote("#define VIEW_PRIORITY_CACHEHIT 0x00000050")
374 cpp_quote("#define VIEW_PRIORITY_STALECACHEHIT 0x00000045")
375 cpp_quote("#define VIEW_PRIORITY_USEASDEFAULT 0x00000043")
376 cpp_quote("#define VIEW_PRIORITY_SHELLEXT 0x00000040")
377 cpp_quote("#define VIEW_PRIORITY_CACHEMISS 0x00000030")
378 cpp_quote("#define VIEW_PRIORITY_INHERIT 0x00000020")
379 cpp_quote("#define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015")
380 cpp_quote("#define VIEW_PRIORITY_DESPERATE 0x00000010")
381 cpp_quote("#define VIEW_PRIORITY_NONE 0x00000000")
383 typedef struct tagFolderSetData {
384 FOLDERSETTINGS _fs;
385 SHELLVIEWID _vidRestore;
386 DWORD _dwViewPriority;
387 } FOLDERSETDATA, *LPFOLDERSETDATA;
389 typedef struct SToolbarItem {
390 IDockingWindow *ptbar;
391 BORDERWIDTHS rcBorderTool;
392 LPWSTR pwszItem;
393 BOOL fShow;
394 HMONITOR hMon;
395 } TOOLBARITEM, *LPTOOLBARITEM;
397 cpp_quote("#define ITB_VIEW ((UINT)-1)")
400 local,
401 object,
402 uuid(68BD21CC-438B-11d2-A560-00A0C92DBFE8)
404 interface IBrowserService2 : IBrowserService
406 LRESULT WndProcBS(
407 [in] HWND hwnd,
408 [in] UINT uMsg,
409 [in] WPARAM wParam,
410 [in] LPARAM lParam);
412 HRESULT SetAsDefFolderSettings();
414 HRESULT GetViewRect(
415 [in, out] RECT *prc);
417 HRESULT OnSize(
418 [in] WPARAM wParam);
420 HRESULT OnCreate(
421 [in] struct tagCREATESTRUCTW *pcs);
423 LRESULT OnCommand(
424 [in] WPARAM wParam,
425 [in] LPARAM lParam);
427 HRESULT OnDestroy();
429 LRESULT OnNotify(
430 [in, out] struct tagNMHDR *pnm);
432 HRESULT OnSetFocus();
434 HRESULT OnFrameWindowActivateBS(
435 [in] BOOL fActive);
437 HRESULT ReleaseShellView();
439 HRESULT ActivatePendingView();
441 HRESULT CreateViewWindow(
442 [in] IShellView *psvNew,
443 [in] IShellView *psvOld,
444 [out] LPRECT prcView,
445 [out] HWND *phwnd);
447 HRESULT CreateBrowserPropSheetExt(
448 [in] REFIID riid,
449 [out] void **ppv);
451 HRESULT GetViewWindow(
452 [out] HWND *phwndView);
454 HRESULT GetBaseBrowserData(
455 [in, out] LPCBASEBROWSERDATA *pbbd);
457 LPBASEBROWSERDATA PutBaseBrowserData();
459 HRESULT InitializeTravelLog(
460 [in] ITravelLog *ptl,
461 [in] DWORD dw);
463 HRESULT SetTopBrowser();
465 HRESULT Offline(
466 [in] int iCmd);
468 HRESULT AllowViewResize(
469 [in] BOOL f);
471 HRESULT SetActivateState(
472 [in] UINT u);
474 HRESULT UpdateSecureLockIcon(
475 [in] int eSecureLock);
477 HRESULT InitializeDownloadManager();
479 HRESULT InitializeTransitionSite();
481 HRESULT _Initialize(
482 [in] HWND hwnd,
483 [in] IUnknown *pauto);
485 HRESULT _CancelPendingNavigationAsync();
487 HRESULT _CancelPendingView();
489 HRESULT _MaySaveChanges();
491 HRESULT _PauseOrResumeView(
492 [in] BOOL fPaused);
494 HRESULT _DisableModeless();
496 HRESULT _NavigateToPidl(
497 [in] LPCITEMIDLIST pidl,
498 [in] DWORD grfHLNF,
499 [in] DWORD dwFlags);
501 HRESULT _TryShell2Rename(
502 [in] IShellView *psv,
503 [in] LPCITEMIDLIST pidlNew);
505 HRESULT _SwitchActivationNow();
507 HRESULT _ExecChildren(
508 [in] IUnknown *punkBar,
509 [in] BOOL fBroadcast,
510 [in] const GUID *pguidCmdGroup,
511 [in] DWORD nCmdID,
512 [in] DWORD nCmdexecopt,
513 [in] VARIANTARG *pvarargIn,
514 [in, out] VARIANTARG *pvarargOut);
516 HRESULT _SendChildren(
517 [in] HWND hwndBar,
518 [in] BOOL fBroadcast,
519 [in] UINT uMsg,
520 [in] WPARAM wParam,
521 [in] LPARAM lParam);
523 HRESULT GetFolderSetData(
524 [in, out] struct tagFolderSetData *pfsd);
526 HRESULT _OnFocusChange(
527 [in] UINT itb);
529 HRESULT v_ShowHideChildWindows(
530 [in] BOOL fChildOnly);
532 UINT _get_itbLastFocus();
534 HRESULT _put_itbLastFocus(
535 [in] UINT itbLastFocus);
537 HRESULT _UIActivateView(
538 [in] UINT uState);
540 HRESULT _GetViewBorderRect(
541 [in, out] RECT* prc);
543 HRESULT _UpdateViewRectSize();
545 HRESULT _ResizeNextBorder(
546 [in] UINT itb);
548 HRESULT _ResizeView();
550 HRESULT _GetEffectiveClientArea(
551 [in, out] LPRECT lprectBorder,
552 [in] HMONITOR hmon);
554 IStream* v_GetViewStream(
555 [in] LPCITEMIDLIST pidl,
556 [in] DWORD grfMode,
557 [in] LPCWSTR pwszName);
559 LRESULT ForwardViewMsg(
560 [in] UINT uMsg,
561 [in] WPARAM wParam,
562 [in] LPARAM lParam);
564 HRESULT SetAcceleratorMenu(
565 [in] HACCEL hacc);
567 int _GetToolbarCount();
569 LPTOOLBARITEM _GetToolbarItem(
570 [in] int itb);
572 HRESULT _SaveToolbars(
573 [in] IStream *pstm);
575 HRESULT _LoadToolbars(
576 [in] IStream *pstm);
578 HRESULT _CloseAndReleaseToolbars(
579 [in] BOOL fClose);
581 HRESULT v_MayGetNextToolbarFocus(
582 [in] LPMSG lpMsg,
583 [in] UINT itbNext,
584 [in] int citb,
585 [out] LPTOOLBARITEM *pptbi,
586 [out] HWND *phwnd);
588 HRESULT _ResizeNextBorderHelper(
589 [in] UINT itb,
590 [in] BOOL bUseHmonitor);
592 UINT _FindTBar(
593 [in] IUnknown *punkSrc);
595 HRESULT _SetFocus(
596 [in] LPTOOLBARITEM ptbi,
597 [in] HWND hwnd,
598 [in] LPMSG lpMsg);
600 HRESULT v_MayTranslateAccelerator(
601 [in] MSG* pmsg);
603 HRESULT _GetBorderDWHelper(
604 [in] IUnknown *punkSrc,
605 [in] LPRECT lprectBorder,
606 [in] BOOL bUseHmonitor);
608 HRESULT v_CheckZoneCrossing(
609 [in, out] LPCITEMIDLIST pidl);