msxml3: Init IDispatchEx data for all node types.
[wine/multimedia.git] / include / shldisp.idl
blob5c04f71f60c364e7d61d4dd0eb2f43fb40846354
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 "objidl.idl";
22 import "oleidl.idl";
23 import "oaidl.idl";
24 import "shtypes.idl";
25 import "servprov.idl";
26 import "comcat.idl";
28 #include <shdispid.h>
30 /*****************************************************************************
31 * IEnumACString interface
34 local,
35 object,
36 uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a),
37 pointer_default(unique)
39 interface IEnumACString : IEnumString
41 typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING;
43 typedef enum _tagACENUMOPTION
45 ACEO_NONE = 0x00000000,
46 ACEO_MOSTRECENTFIRST = 0x00000001,
47 ACEO_FIRSTUNUSED = 0x00010000,
48 } ACENUMOPTION;
50 HRESULT NextItem( [out] LPWSTR pszUrl,
51 [in] ULONG cchMax,
52 [out] ULONG *pulSortIndex);
54 HRESULT SetEnumOptions( [in] DWORD dwOptions );
56 HRESULT GetEnumOptions( [out] DWORD *pdwOptions );
59 /*****************************************************************************
60 * IAutoComplete interface
63 local,
64 object,
65 uuid(00bb2762-6a77-11d0-a535-00c04fd7d062),
66 pointer_default(unique)
68 interface IAutoComplete : IUnknown
70 typedef IAutoComplete *LPAUTOCOMPLETE;
72 HRESULT Init( [in] HWND hwndEdit,
73 [in] IUnknown *punkACL,
74 [in] LPCOLESTR pwszRegKeyPath,
75 [in] LPCOLESTR pwszQuickComplete);
77 HRESULT Enable( [in] BOOL fEnable );
80 /*****************************************************************************
81 * IAutoComplete2 interface
84 local,
85 object,
86 uuid(eac04bc0-3791-11d2-bb95-0060977b464c),
87 pointer_default(unique)
89 interface IAutoComplete2 : IAutoComplete
91 typedef IAutoComplete2 *LPAUTOCOMPLETE2;
93 typedef enum _tagAUTOCOMPLETEOPTIONS
95 ACO_NONE = 0x00, /* No AutoComplete */
96 ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */
97 ACO_AUTOAPPEND = 0x02, /* enable autoappend */
98 ACO_SEARCH = 0x04, /* add search entry to completion list */
99 ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */
100 ACO_USETAB = 0x10, /* use tab to select autosuggest entries */
101 ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */
102 ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */
103 } AUTOCOMPLETEOPTIONS;
105 HRESULT SetOptions( [in] DWORD dwFlag);
107 HRESULT GetOptions( [out] DWORD *pdwFlag);
111 uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe),
112 version(1.0)
114 library Shell32
117 importlib("stdole2.tlb");
120 object,
121 oleautomation,
122 uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39),
123 pointer_default(unique)
125 interface IFolderViewOC : IDispatch
127 HRESULT SetFolderView( [in] IDispatch *pdisp );
131 uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d)
133 dispinterface DShellFolderViewEvents
135 properties:
136 methods:
137 [id(DISPID_SELECTIONCHANGED)]
138 void SelectionChanged();
140 [id(DISPID_FILELISTENUMDONE)]
141 void EnumDone();
143 [id(DISPID_VERBINVOKED)]
144 VARIANT_BOOL VerbInvoked();
146 [id(DISPID_DEFAULTVERBINVOKED)]
147 VARIANT_BOOL DefaultVerbInvoked();
149 [id(DISPID_BEGINDRAG)]
150 VARIANT_BOOL BeginDrag();
154 uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39),
155 hidden
157 coclass ShellFolderViewOC
159 [default] interface IFolderViewOC;
160 [default, source] dispinterface DShellFolderViewEvents;
163 interface FolderItem;
164 interface FolderItems;
165 interface FolderItemVerb;
166 interface FolderItemVerbs;
168 /*****************************************************************************
169 * Folder interface
172 object,
173 uuid(bbcbde60-c3ff-11ce-8350-444553540000),
174 oleautomation,
175 dual
177 interface Folder : IDispatch
179 [propget, id(DISPID_VALUE)]
180 HRESULT Title( [out, retval] BSTR *pbs );
182 [propget]
183 HRESULT Application( [out, retval] IDispatch **ppid );
185 [propget]
186 HRESULT Parent( [out, retval] IDispatch **ppid );
188 [propget]
189 HRESULT ParentFolder( [out, retval] Folder **ppsf );
191 HRESULT Items( [out, retval] FolderItems **ppid );
193 HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid );
195 HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions );
197 HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
199 HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
201 HRESULT GetDetailsOf( [in] VARIANT vItem,
202 [in] int iColumn,
203 [out, retval] BSTR *pbs );
206 /*****************************************************************************
207 * Folder2 interface
210 object,
211 uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661),
212 oleautomation,
213 dual
215 interface Folder2 : Folder
217 [propget]
218 HRESULT Self( [out, retval] FolderItem **ppfi );
220 [propget]
221 HRESULT OfflineStatus( [out, retval] LONG *pul );
223 HRESULT Synchronize();
225 [propget, id(1)]
226 HRESULT HaveToShowWebViewBarricade(
227 [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade );
229 HRESULT DismissedWebViewBarricade();
232 /*****************************************************************************
233 * Folder3 interface
236 object,
237 uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841),
238 oleautomation,
239 dual
241 interface Folder3 : Folder2
243 [propget, id(2)]
244 HRESULT ShowWebViewBarricade(
245 [out, retval] VARIANT_BOOL *pbShowWebViewBarricade );
247 [propput, id(2)]
248 HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade );
251 /*****************************************************************************
252 * FolderItem interface
255 object,
256 uuid(fac32c80-cbe4-11ce-8350-444553540000),
257 oleautomation,
258 dual
260 interface FolderItem : IDispatch
262 typedef FolderItem *LPFOLDERITEM;
264 [propget]
265 HRESULT Application( [out, retval] IDispatch **ppid );
267 [propget]
268 HRESULT Parent( [out, retval] IDispatch **ppid );
270 [propget, id(DISPID_VALUE)]
271 HRESULT Name( [out, retval] BSTR *pbs );
273 [propput, id(DISPID_VALUE)]
274 HRESULT Name( [in] BSTR bs );
276 [propget]
277 HRESULT Path( [out, retval] BSTR *pbs );
279 [propget]
280 HRESULT GetLink( [out, retval] IDispatch **ppid );
282 [propget]
283 HRESULT GetFolder( [out, retval] IDispatch **ppid );
285 [propget]
286 HRESULT IsLink( [out, retval] VARIANT_BOOL *pb );
288 [propget]
289 HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb );
291 [propget]
292 HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb );
294 [propget]
295 HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb );
297 [propget]
298 HRESULT ModifyDate( [out, retval] DATE *pdt );
300 [propput]
301 HRESULT ModifyDate( [in] DATE dt );
303 [propget]
304 HRESULT Size( [out, retval] LONG *pul );
306 [propget]
307 HRESULT Type( [out, retval] BSTR *pbs );
309 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
311 HRESULT InvokeVerb( [in, optional] VARIANT vVerb );
314 /*****************************************************************************
315 * FolderItems interface
318 object,
319 uuid(744129e0-cbe5-11ce-8350-444553540000),
320 oleautomation,
321 dual
323 interface FolderItems : IDispatch
325 [propget]
326 HRESULT Count( [out, retval] long *plCount );
328 [propget]
329 HRESULT Application( [out, retval] IDispatch **ppid );
331 [propget]
332 HRESULT Parent( [out, retval] IDispatch **ppid );
334 HRESULT Item( [in, optional] VARIANT index,
335 [out, retval] FolderItem **ppid );
337 [id(DISPID_NEWENUM)]
338 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
341 /*****************************************************************************
342 * FolderItemVerb interface
345 object,
346 uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85),
347 oleautomation,
348 dual
350 interface FolderItemVerb : IDispatch
352 [propget]
353 HRESULT Application( [out, retval] IDispatch **ppid );
355 [propget]
356 HRESULT Parent( [out, retval] IDispatch **ppid );
358 [propget, id(DISPID_VALUE)]
359 HRESULT Name( [out, retval] BSTR *pbs );
361 HRESULT DoIt();
364 /*****************************************************************************
365 * FolderItemVerbs interface
368 object,
369 uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85),
370 oleautomation,
371 dual
373 interface FolderItemVerbs : IDispatch
375 [propget]
376 HRESULT Count( [out, retval] long *plCount );
378 [propget]
379 HRESULT Application( [out, retval] IDispatch **ppid );
381 [propget]
382 HRESULT Parent( [out, retval] IDispatch **ppid );
384 HRESULT Item( [in, optional] VARIANT index,
385 [out, retval] FolderItemVerb **ppid );
387 [id(DISPID_NEWENUM)]
388 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
391 /*****************************************************************************
392 * IShellDispatch interface
395 object,
396 uuid(d8f015c0-c278-11ce-a49e-444553540000),
397 oleautomation,
398 hidden,
399 dual
401 interface IShellDispatch : IDispatch
403 [propget]
404 HRESULT Application( [out, retval] IDispatch **ppid );
406 [propget]
407 HRESULT Parent( [out, retval] IDispatch **ppid );
409 HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf );
411 HRESULT BrowseForFolder( [in] long Hwnd,
412 [in] BSTR Title,
413 [in] long Options,
414 [in, optional] VARIANT RootFolder,
415 [out, retval] Folder **ppsdf );
417 HRESULT Windows( [out, retval] IDispatch **ppid );
419 HRESULT Open( [in] VARIANT vDir );
421 HRESULT Explore( [in] VARIANT vDir );
423 HRESULT MinimizeAll();
425 HRESULT UndoMinimizeALL();
427 HRESULT FileRun();
429 HRESULT CascadeWindows();
431 HRESULT TileVertically();
433 HRESULT TileHorizontally();
435 HRESULT ShutdownWindows();
437 HRESULT Suspend();
439 HRESULT EjectPC();
441 HRESULT SetTime();
443 HRESULT TrayProperties();
445 HRESULT Help();
447 HRESULT FindFiles();
449 HRESULT FindComputer();
451 HRESULT RefreshMenu();
453 HRESULT ControlPanelItem( [in] BSTR szDir );
457 uuid(13709620-c279-11ce-a49e-444553540000)
459 coclass Shell
461 [default] interface IShellDispatch;
465 uuid(0a89a860-d7b1-11ce-8350-444553540000),
466 hidden
468 coclass ShellDispatchInproc
470 interface IUnknown;
473 typedef
475 uuid(ca31ea20-48d0-11cf-8350-444553540000)
477 enum ShellSpecialFolderConstants {
478 ssfDESKTOP = 0x00,
479 ssfPROGRAMS = 0x02,
480 ssfCONTROLS = 0x03,
481 ssfPRINTERS = 0x04,
482 ssfPERSONAL = 0x05,
483 ssfFAVORITES = 0x06,
484 ssfSTARTUP = 0x07,
485 ssfRECENT = 0x08,
486 ssfSENDTO = 0x09,
487 ssfBITBUCKET = 0x0a,
488 ssfSTARTMENU = 0x0b,
489 ssfDESKTOPDIRECTORY = 0x10,
490 ssfDRIVES = 0x11,
491 ssfNETWORK = 0x12,
492 ssfNETHOOD = 0x13,
493 ssfFONTS = 0x14,
494 ssfTEMPLATES = 0x15,
495 ssfCOMMONSTARTMENU = 0x16,
496 ssfCOMMONPROGRAMS = 0x17,
497 ssfCOMMONSTARTUP = 0x18,
498 ssfCOMMONDESKTOPDIR = 0x19,
499 ssfAPPDATA = 0x1a,
500 ssfPRINTHOOD = 0x1b,
501 ssfLOCALAPPDATA = 0x1c,
502 ssfALTSTARTUP = 0x1d,
503 ssfCOMMONALTSTARTUP = 0x1e,
504 ssfCOMMONFAVORITES = 0x1f,
505 ssfINTERNETCACHE = 0x20,
506 ssfCOOKIES = 0x21,
507 ssfHISTORY = 0x22,
508 ssfCOMMONAPPDATA = 0x23,
509 ssfWINDOWS = 0x24,
510 ssfSYSTEM = 0x25,
511 ssfPROGRAMFILES = 0x26,
512 ssfMYPICTURES = 0x27,
513 ssfPROFILE = 0x28,
514 ssfSYSTEMx86 = 0x29,
515 ssfPROGRAMFILESx86 = 0x30
516 } ShellSpecialFolderConstants;
518 } /* library Shell32 */
520 /*****************************************************************************
521 * IAsyncOperation interface
524 uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4),
525 object,
528 interface IAsyncOperation : IUnknown
530 typedef [unique] IAsyncOperation *LPASYNCOPERATION;
532 HRESULT SetAsyncMode([in] BOOL fDoOpAsync);
534 HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync);
536 HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved);
538 HRESULT InOperation([out] BOOL *pfInAsyncOp);
540 HRESULT EndOperation(
541 [in] HRESULT hResult,
542 [in, unique] IBindCtx *pbcReserved,
543 [in] DWORD dwEffects);