joy.cpl: Fix pulsing buttons in joystick button state display.
[wine/zf.git] / include / shldisp.idl
blob19f2d73ed0a17d08fbfd46d7cde3af63f16429f1
1 /*
2 * COM interfaces for shell objects
4 * Copyright (C) 2004 Maxime Bellengé
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 "ocidl.idl";
23 #include <shdispid.h>
25 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
26 cpp_quote("#undef ShellExecute")
27 cpp_quote("#endif")
29 /*****************************************************************************
30 * IEnumACString interface
33 local,
34 object,
35 uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a),
36 pointer_default(unique)
38 interface IEnumACString : IEnumString
40 typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING;
42 typedef enum _tagACENUMOPTION
44 ACEO_NONE = 0x00000000,
45 ACEO_MOSTRECENTFIRST = 0x00000001,
46 ACEO_FIRSTUNUSED = 0x00010000,
47 } ACENUMOPTION;
49 HRESULT NextItem( [out] LPWSTR pszUrl,
50 [in] ULONG cchMax,
51 [out] ULONG *pulSortIndex);
53 HRESULT SetEnumOptions( [in] DWORD dwOptions );
55 HRESULT GetEnumOptions( [out] DWORD *pdwOptions );
58 /*****************************************************************************
59 * IAutoComplete interface
62 local,
63 object,
64 uuid(00bb2762-6a77-11d0-a535-00c04fd7d062),
65 pointer_default(unique)
67 interface IAutoComplete : IUnknown
69 typedef IAutoComplete *LPAUTOCOMPLETE;
71 HRESULT Init( [in] HWND hwndEdit,
72 [in] IUnknown *punkACL,
73 [in] LPCOLESTR pwszRegKeyPath,
74 [in] LPCOLESTR pwszQuickComplete);
76 HRESULT Enable( [in] BOOL fEnable );
79 /*****************************************************************************
80 * IAutoComplete2 interface
83 local,
84 object,
85 uuid(eac04bc0-3791-11d2-bb95-0060977b464c),
86 pointer_default(unique)
88 interface IAutoComplete2 : IAutoComplete
90 typedef IAutoComplete2 *LPAUTOCOMPLETE2;
92 typedef enum _tagAUTOCOMPLETEOPTIONS
94 ACO_NONE = 0x00, /* No AutoComplete */
95 ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */
96 ACO_AUTOAPPEND = 0x02, /* enable autoappend */
97 ACO_SEARCH = 0x04, /* add search entry to completion list */
98 ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */
99 ACO_USETAB = 0x10, /* use tab to select autosuggest entries */
100 ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */
101 ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */
102 ACO_WORD_FILTER = 0x80, /* treat the autocompleted suggestion as a phrase for search purposes */
103 ACO_NOPREFIXFILTERING = 0x100, /* always display all suggestions */
104 } AUTOCOMPLETEOPTIONS;
106 HRESULT SetOptions( [in] DWORD dwFlag);
108 HRESULT GetOptions( [out] DWORD *pdwFlag);
112 uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe),
113 version(1.0)
115 library Shell32
118 importlib("stdole2.tlb");
121 object,
122 oleautomation,
123 uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39),
124 pointer_default(unique)
126 interface IFolderViewOC : IDispatch
128 HRESULT SetFolderView( [in] IDispatch *pdisp );
132 uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d)
134 dispinterface DShellFolderViewEvents
136 properties:
137 methods:
138 [id(DISPID_SELECTIONCHANGED)]
139 void SelectionChanged();
141 [id(DISPID_FILELISTENUMDONE)]
142 void EnumDone();
144 [id(DISPID_VERBINVOKED)]
145 VARIANT_BOOL VerbInvoked();
147 [id(DISPID_DEFAULTVERBINVOKED)]
148 VARIANT_BOOL DefaultVerbInvoked();
150 [id(DISPID_BEGINDRAG)]
151 VARIANT_BOOL BeginDrag();
155 uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39),
156 hidden
158 coclass ShellFolderViewOC
160 [default] interface IFolderViewOC;
161 [default, source] dispinterface DShellFolderViewEvents;
164 interface FolderItem;
165 interface FolderItems;
166 interface FolderItemVerb;
167 interface FolderItemVerbs;
169 /*****************************************************************************
170 * Folder interface
173 object,
174 uuid(bbcbde60-c3ff-11ce-8350-444553540000),
175 oleautomation,
176 dual
178 interface Folder : IDispatch
180 [propget, id(DISPID_VALUE)]
181 HRESULT Title( [out, retval] BSTR *pbs );
183 [propget]
184 HRESULT Application( [out, retval] IDispatch **ppid );
186 [propget]
187 HRESULT Parent( [out, retval] IDispatch **ppid );
189 [propget]
190 HRESULT ParentFolder( [out, retval] Folder **ppsf );
192 HRESULT Items( [out, retval] FolderItems **ppid );
194 HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid );
196 HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions );
198 HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
200 HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
202 HRESULT GetDetailsOf( [in] VARIANT vItem,
203 [in] int iColumn,
204 [out, retval] BSTR *pbs );
207 /*****************************************************************************
208 * Folder2 interface
211 object,
212 uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661),
213 oleautomation,
214 dual
216 interface Folder2 : Folder
218 [propget]
219 HRESULT Self( [out, retval] FolderItem **ppfi );
221 [propget]
222 HRESULT OfflineStatus( [out, retval] LONG *pul );
224 HRESULT Synchronize();
226 [propget, id(1)]
227 HRESULT HaveToShowWebViewBarricade(
228 [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade );
230 HRESULT DismissedWebViewBarricade();
233 /*****************************************************************************
234 * Folder3 interface
237 object,
238 uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841),
239 oleautomation,
240 dual
242 interface Folder3 : Folder2
244 [propget, id(2)]
245 HRESULT ShowWebViewBarricade(
246 [out, retval] VARIANT_BOOL *pbShowWebViewBarricade );
248 [propput, id(2)]
249 HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade );
252 /*****************************************************************************
253 * FolderItem interface
256 object,
257 uuid(fac32c80-cbe4-11ce-8350-444553540000),
258 oleautomation,
259 dual
261 interface FolderItem : IDispatch
263 typedef FolderItem *LPFOLDERITEM;
265 [propget]
266 HRESULT Application( [out, retval] IDispatch **ppid );
268 [propget]
269 HRESULT Parent( [out, retval] IDispatch **ppid );
271 [propget, id(DISPID_VALUE)]
272 HRESULT Name( [out, retval] BSTR *pbs );
274 [propput, id(DISPID_VALUE)]
275 HRESULT Name( [in] BSTR bs );
277 [propget]
278 HRESULT Path( [out, retval] BSTR *pbs );
280 [propget]
281 HRESULT GetLink( [out, retval] IDispatch **ppid );
283 [propget]
284 HRESULT GetFolder( [out, retval] IDispatch **ppid );
286 [propget]
287 HRESULT IsLink( [out, retval] VARIANT_BOOL *pb );
289 [propget]
290 HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb );
292 [propget]
293 HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb );
295 [propget]
296 HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb );
298 [propget]
299 HRESULT ModifyDate( [out, retval] DATE *pdt );
301 [propput]
302 HRESULT ModifyDate( [in] DATE dt );
304 [propget]
305 HRESULT Size( [out, retval] LONG *pul );
307 [propget]
308 HRESULT Type( [out, retval] BSTR *pbs );
310 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
312 HRESULT InvokeVerb( [in, optional] VARIANT vVerb );
316 object,
317 uuid(edc817aa-92b8-11d1-b075-00c04fc33aa5),
318 oleautomation,
319 dual
321 interface FolderItem2 : FolderItem
323 HRESULT InvokeVerbEx([in, optional] VARIANT verb, [in, optional] VARIANT args);
324 HRESULT ExtendedProperty([in] BSTR propname, [out, retval] VARIANT *ret);
327 /*****************************************************************************
328 * FolderItems interface
331 object,
332 uuid(744129e0-cbe5-11ce-8350-444553540000),
333 oleautomation,
334 dual
336 interface FolderItems : IDispatch
338 [propget]
339 HRESULT Count( [out, retval] long *plCount );
341 [propget]
342 HRESULT Application( [out, retval] IDispatch **ppid );
344 [propget]
345 HRESULT Parent( [out, retval] IDispatch **ppid );
347 HRESULT Item( [in, optional] VARIANT index,
348 [out, retval] FolderItem **ppid );
350 [id(DISPID_NEWENUM)]
351 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
354 /*****************************************************************************
355 * FolderItems2 interface
358 uuid(c94f0ad0-f363-11d2-a327-00c04f8eec7f),
359 oleautomation,
360 dual
362 interface FolderItems2 : FolderItems
364 HRESULT InvokeVerbEx( [in, optional] VARIANT verb,
365 [in, optional] VARIANT args );
368 /*****************************************************************************
369 * FolderItems3 interface
372 uuid(eaa7c309-bbec-49d5-821d-64d966cb667f),
373 oleautomation,
374 dual
376 interface FolderItems3 : FolderItems2
378 HRESULT Filter( [in] long flags, [in] BSTR spec );
380 [id(0), propget]
381 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
384 /*****************************************************************************
385 * FolderItemVerb interface
388 object,
389 uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85),
390 oleautomation,
391 dual
393 interface FolderItemVerb : IDispatch
395 [propget]
396 HRESULT Application( [out, retval] IDispatch **ppid );
398 [propget]
399 HRESULT Parent( [out, retval] IDispatch **ppid );
401 [propget, id(DISPID_VALUE)]
402 HRESULT Name( [out, retval] BSTR *pbs );
404 HRESULT DoIt();
407 /*****************************************************************************
408 * FolderItemVerbs interface
411 object,
412 uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85),
413 oleautomation,
414 dual
416 interface FolderItemVerbs : IDispatch
418 [propget]
419 HRESULT Count( [out, retval] long *plCount );
421 [propget]
422 HRESULT Application( [out, retval] IDispatch **ppid );
424 [propget]
425 HRESULT Parent( [out, retval] IDispatch **ppid );
427 HRESULT Item( [in, optional] VARIANT index,
428 [out, retval] FolderItemVerb **ppid );
430 [id(DISPID_NEWENUM)]
431 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
434 /*****************************************************************************
435 * IShellDispatch interface
438 uuid(d8f015c0-c278-11ce-a49e-444553540000),
439 oleautomation,
440 hidden,
441 dual
443 interface IShellDispatch : IDispatch
445 [propget]
446 HRESULT Application( [out, retval] IDispatch **ppid );
448 [propget]
449 HRESULT Parent( [out, retval] IDispatch **ppid );
451 HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf );
453 HRESULT BrowseForFolder( [in] long Hwnd,
454 [in] BSTR Title,
455 [in] long Options,
456 [in, optional] VARIANT RootFolder,
457 [out, retval] Folder **ppsdf );
459 HRESULT Windows( [out, retval] IDispatch **ppid );
461 HRESULT Open( [in] VARIANT vDir );
463 HRESULT Explore( [in] VARIANT vDir );
465 HRESULT MinimizeAll();
467 HRESULT UndoMinimizeALL();
469 HRESULT FileRun();
471 HRESULT CascadeWindows();
473 HRESULT TileVertically();
475 HRESULT TileHorizontally();
477 HRESULT ShutdownWindows();
479 HRESULT Suspend();
481 HRESULT EjectPC();
483 HRESULT SetTime();
485 HRESULT TrayProperties();
487 HRESULT Help();
489 HRESULT FindFiles();
491 HRESULT FindComputer();
493 HRESULT RefreshMenu();
495 HRESULT ControlPanelItem( [in] BSTR szDir );
499 uuid(a4c6892c-3ba9-11d2-9dea-00c04fb16162),
500 oleautomation,
501 hidden,
502 dual
504 interface IShellDispatch2 : IShellDispatch
506 HRESULT IsRestricted([in] BSTR group, [in] BSTR restriction, [out, retval] long *value);
507 HRESULT ShellExecute([in] BSTR file, [in, optional] VARIANT args, [in, optional] VARIANT dir,
508 [in, optional] VARIANT op, [in, optional] VARIANT show);
509 HRESULT FindPrinter([in, optional] BSTR name, [in, optional] BSTR location, [in, optional] BSTR model);
510 HRESULT GetSystemInformation([in] BSTR name, [out, retval] VARIANT *ret);
511 HRESULT ServiceStart([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret);
512 HRESULT ServiceStop([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret);
513 HRESULT IsServiceRunning([in] BSTR service, [out, retval] VARIANT *running);
514 HRESULT CanStartStopService([in] BSTR service, [out, retval] VARIANT *ret);
515 HRESULT ShowBrowserBar([in] BSTR clsid, [in] VARIANT show, [out, retval] VARIANT *ret);
519 uuid(177160ca-bb5a-411c-841d-bd38facdeaa0),
520 oleautomation,
521 hidden,
522 dual
524 interface IShellDispatch3 : IShellDispatch2
526 HRESULT AddToRecent([in] VARIANT file, [in, optional] BSTR category);
530 uuid(efd84b2d-4bcf-4298-be25-eb542a59fbda),
531 oleautomation,
532 hidden,
533 dual
535 interface IShellDispatch4 : IShellDispatch3
537 HRESULT WindowsSecurity();
538 HRESULT ToggleDesktop();
539 HRESULT ExplorerPolicy([in] BSTR policy, [out, retval] VARIANT *value);
540 HRESULT GetSetting([in] long setting, [out,retval] VARIANT_BOOL *result);
544 uuid(866738b9-6cf2-4de8-8767-f794ebe74f4e),
545 oleautomation,
546 hidden,
547 dual
549 interface IShellDispatch5 : IShellDispatch4
551 HRESULT WindowSwitcher();
555 uuid(286e6f1b-7113-4355-9562-96b7e9d64c54),
556 oleautomation,
557 hidden,
558 dual,
560 interface IShellDispatch6 : IShellDispatch5
562 HRESULT SearchCommand(void);
566 uuid(13709620-c279-11ce-a49e-444553540000)
568 coclass Shell
570 [default] interface IShellDispatch6;
574 uuid(0a89a860-d7b1-11ce-8350-444553540000),
575 hidden
577 coclass ShellDispatchInproc
579 interface IUnknown;
582 typedef
584 uuid(ca31ea20-48d0-11cf-8350-444553540000)
586 enum ShellSpecialFolderConstants {
587 ssfDESKTOP = 0x00,
588 ssfPROGRAMS = 0x02,
589 ssfCONTROLS = 0x03,
590 ssfPRINTERS = 0x04,
591 ssfPERSONAL = 0x05,
592 ssfFAVORITES = 0x06,
593 ssfSTARTUP = 0x07,
594 ssfRECENT = 0x08,
595 ssfSENDTO = 0x09,
596 ssfBITBUCKET = 0x0a,
597 ssfSTARTMENU = 0x0b,
598 ssfDESKTOPDIRECTORY = 0x10,
599 ssfDRIVES = 0x11,
600 ssfNETWORK = 0x12,
601 ssfNETHOOD = 0x13,
602 ssfFONTS = 0x14,
603 ssfTEMPLATES = 0x15,
604 ssfCOMMONSTARTMENU = 0x16,
605 ssfCOMMONPROGRAMS = 0x17,
606 ssfCOMMONSTARTUP = 0x18,
607 ssfCOMMONDESKTOPDIR = 0x19,
608 ssfAPPDATA = 0x1a,
609 ssfPRINTHOOD = 0x1b,
610 ssfLOCALAPPDATA = 0x1c,
611 ssfALTSTARTUP = 0x1d,
612 ssfCOMMONALTSTARTUP = 0x1e,
613 ssfCOMMONFAVORITES = 0x1f,
614 ssfINTERNETCACHE = 0x20,
615 ssfCOOKIES = 0x21,
616 ssfHISTORY = 0x22,
617 ssfCOMMONAPPDATA = 0x23,
618 ssfWINDOWS = 0x24,
619 ssfSYSTEM = 0x25,
620 ssfPROGRAMFILES = 0x26,
621 ssfMYPICTURES = 0x27,
622 ssfPROFILE = 0x28,
623 ssfSYSTEMx86 = 0x29,
624 ssfPROGRAMFILESx86 = 0x30
625 } ShellSpecialFolderConstants;
627 /*****************************************************************************
628 * IShellFolderViewDual interface
630 typedef
632 uuid(742a99a0-c77e-11d0-a32c-00a0c91eedba)
634 enum ShellFolderViewOptions
636 SFVVO_SHOWALLOBJECTS = 0x00000001,
637 SFVVO_SHOWEXTENSIONS = 0x00000002,
638 SFVVO_SHOWCOMPCOLOR = 0x00000008,
639 SFVVO_SHOWSYSFILES = 0x00000020,
640 SFVVO_WIN95CLASSIC = 0x00000040,
641 SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080,
642 SFVVO_DESKTOPHTML = 0x00000200
643 } ShellFolderViewOptions;
646 uuid(e7a1af80-4d96-11cf-960c-0080c7f4ee85),
647 oleautomation,
648 hidden,
649 dual
651 interface IShellFolderViewDual : IDispatch
653 [propget]
654 HRESULT Application([out, retval] IDispatch **app);
656 [propget]
657 HRESULT Parent([out, retval] IDispatch **parent);
659 [propget]
660 HRESULT Folder([out, retval] Folder **folder);
662 HRESULT SelectedItems([out, retval] FolderItems **items);
664 [propget]
665 HRESULT FocusedItem([out, retval] FolderItem **item);
667 HRESULT SelectItem([in] VARIANT *item, [in] int flags);
669 HRESULT PopupItemMenu([in] FolderItem *item,
670 [in, optional] VARIANT vx,
671 [in, optional] VARIANT vy,
672 [out, retval] BSTR *command);
673 [propget]
674 HRESULT Script([out, retval] IDispatch **script);
676 [propget]
677 HRESULT ViewOptions([out, retval] long *options);
681 uuid(31c147b6-0ade-4a3c-b514-ddf932ef6d17),
682 oleautomation,
683 hidden,
684 dual
686 interface IShellFolderViewDual2 : IShellFolderViewDual
688 [propget]
689 HRESULT CurrentViewMode([out, retval] UINT *mode);
691 [propput]
692 HRESULT CurrentViewMode([in] UINT mode);
694 HRESULT SelectItemRelative([in] int relative);
698 uuid(29ec8e6c-46d3-411f-baaa-611a6c9cac66),
699 oleautomation,
700 hidden,
701 dual
703 interface IShellFolderViewDual3 : IShellFolderViewDual2
705 [propget]
706 HRESULT GroupBy([out, retval] BSTR *groupby);
708 [propput]
709 HRESULT GroupBy([in] BSTR groupby);
711 [propget]
712 HRESULT FolderFlags([out, retval] DWORD *flags);
714 [propput]
715 HRESULT FolderFlags([in] DWORD flags);
717 [propget]
718 HRESULT SortColumns([out, retval] BSTR *sortcolumns);
720 [propput]
721 HRESULT SortColumns([in] BSTR sortcolumns);
723 [propput]
724 HRESULT IconSize([in] int icon_size);
726 [propget]
727 HRESULT IconSize([out, retval] int *icon_size);
729 HRESULT FilterView([in, unique] BSTR filter_text);
733 uuid(62112aa1-ebe4-11cf-a5fb-0020afe7292d)
735 coclass ShellFolderView
737 [default] interface IShellFolderViewDual3;
738 [default, source] dispinterface DShellFolderViewEvents;
741 } /* library Shell32 */
743 /*****************************************************************************
744 * IAsyncOperation interface
747 uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4),
748 object,
751 interface IAsyncOperation : IUnknown
753 typedef [unique] IAsyncOperation *LPASYNCOPERATION;
755 HRESULT SetAsyncMode([in] BOOL fDoOpAsync);
757 HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync);
759 HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved);
761 HRESULT InOperation([out] BOOL *pfInAsyncOp);
763 HRESULT EndOperation(
764 [in] HRESULT hResult,
765 [in, unique] IBindCtx *pbcReserved,
766 [in] DWORD dwEffects);