mshtml: Reimplement nsIURL::GetFileBaseName on top of IUri.
[wine/multimedia.git] / include / shldisp.idl
blob3e7fc45f82cc6f20bba381af2ba25566f5d31211
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 /*****************************************************************************
26 * IEnumACString interface
29 local,
30 object,
31 uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a),
32 pointer_default(unique)
34 interface IEnumACString : IEnumString
36 typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING;
38 typedef enum _tagACENUMOPTION
40 ACEO_NONE = 0x00000000,
41 ACEO_MOSTRECENTFIRST = 0x00000001,
42 ACEO_FIRSTUNUSED = 0x00010000,
43 } ACENUMOPTION;
45 HRESULT NextItem( [out] LPWSTR pszUrl,
46 [in] ULONG cchMax,
47 [out] ULONG *pulSortIndex);
49 HRESULT SetEnumOptions( [in] DWORD dwOptions );
51 HRESULT GetEnumOptions( [out] DWORD *pdwOptions );
54 /*****************************************************************************
55 * IAutoComplete interface
58 local,
59 object,
60 uuid(00bb2762-6a77-11d0-a535-00c04fd7d062),
61 pointer_default(unique)
63 interface IAutoComplete : IUnknown
65 typedef IAutoComplete *LPAUTOCOMPLETE;
67 HRESULT Init( [in] HWND hwndEdit,
68 [in] IUnknown *punkACL,
69 [in] LPCOLESTR pwszRegKeyPath,
70 [in] LPCOLESTR pwszQuickComplete);
72 HRESULT Enable( [in] BOOL fEnable );
75 /*****************************************************************************
76 * IAutoComplete2 interface
79 local,
80 object,
81 uuid(eac04bc0-3791-11d2-bb95-0060977b464c),
82 pointer_default(unique)
84 interface IAutoComplete2 : IAutoComplete
86 typedef IAutoComplete2 *LPAUTOCOMPLETE2;
88 typedef enum _tagAUTOCOMPLETEOPTIONS
90 ACO_NONE = 0x00, /* No AutoComplete */
91 ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */
92 ACO_AUTOAPPEND = 0x02, /* enable autoappend */
93 ACO_SEARCH = 0x04, /* add search entry to completion list */
94 ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */
95 ACO_USETAB = 0x10, /* use tab to select autosuggest entries */
96 ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */
97 ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */
98 } AUTOCOMPLETEOPTIONS;
100 HRESULT SetOptions( [in] DWORD dwFlag);
102 HRESULT GetOptions( [out] DWORD *pdwFlag);
106 uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe),
107 version(1.0)
109 library Shell32
112 importlib("stdole2.tlb");
115 object,
116 oleautomation,
117 uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39),
118 pointer_default(unique)
120 interface IFolderViewOC : IDispatch
122 HRESULT SetFolderView( [in] IDispatch *pdisp );
126 uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d)
128 dispinterface DShellFolderViewEvents
130 properties:
131 methods:
132 [id(DISPID_SELECTIONCHANGED)]
133 void SelectionChanged();
135 [id(DISPID_FILELISTENUMDONE)]
136 void EnumDone();
138 [id(DISPID_VERBINVOKED)]
139 VARIANT_BOOL VerbInvoked();
141 [id(DISPID_DEFAULTVERBINVOKED)]
142 VARIANT_BOOL DefaultVerbInvoked();
144 [id(DISPID_BEGINDRAG)]
145 VARIANT_BOOL BeginDrag();
149 uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39),
150 hidden
152 coclass ShellFolderViewOC
154 [default] interface IFolderViewOC;
155 [default, source] dispinterface DShellFolderViewEvents;
158 interface FolderItem;
159 interface FolderItems;
160 interface FolderItemVerb;
161 interface FolderItemVerbs;
163 /*****************************************************************************
164 * Folder interface
167 object,
168 uuid(bbcbde60-c3ff-11ce-8350-444553540000),
169 oleautomation,
170 dual
172 interface Folder : IDispatch
174 [propget, id(DISPID_VALUE)]
175 HRESULT Title( [out, retval] BSTR *pbs );
177 [propget]
178 HRESULT Application( [out, retval] IDispatch **ppid );
180 [propget]
181 HRESULT Parent( [out, retval] IDispatch **ppid );
183 [propget]
184 HRESULT ParentFolder( [out, retval] Folder **ppsf );
186 HRESULT Items( [out, retval] FolderItems **ppid );
188 HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid );
190 HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions );
192 HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
194 HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
196 HRESULT GetDetailsOf( [in] VARIANT vItem,
197 [in] int iColumn,
198 [out, retval] BSTR *pbs );
201 /*****************************************************************************
202 * Folder2 interface
205 object,
206 uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661),
207 oleautomation,
208 dual
210 interface Folder2 : Folder
212 [propget]
213 HRESULT Self( [out, retval] FolderItem **ppfi );
215 [propget]
216 HRESULT OfflineStatus( [out, retval] LONG *pul );
218 HRESULT Synchronize();
220 [propget, id(1)]
221 HRESULT HaveToShowWebViewBarricade(
222 [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade );
224 HRESULT DismissedWebViewBarricade();
227 /*****************************************************************************
228 * Folder3 interface
231 object,
232 uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841),
233 oleautomation,
234 dual
236 interface Folder3 : Folder2
238 [propget, id(2)]
239 HRESULT ShowWebViewBarricade(
240 [out, retval] VARIANT_BOOL *pbShowWebViewBarricade );
242 [propput, id(2)]
243 HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade );
246 /*****************************************************************************
247 * FolderItem interface
250 object,
251 uuid(fac32c80-cbe4-11ce-8350-444553540000),
252 oleautomation,
253 dual
255 interface FolderItem : IDispatch
257 typedef FolderItem *LPFOLDERITEM;
259 [propget]
260 HRESULT Application( [out, retval] IDispatch **ppid );
262 [propget]
263 HRESULT Parent( [out, retval] IDispatch **ppid );
265 [propget, id(DISPID_VALUE)]
266 HRESULT Name( [out, retval] BSTR *pbs );
268 [propput, id(DISPID_VALUE)]
269 HRESULT Name( [in] BSTR bs );
271 [propget]
272 HRESULT Path( [out, retval] BSTR *pbs );
274 [propget]
275 HRESULT GetLink( [out, retval] IDispatch **ppid );
277 [propget]
278 HRESULT GetFolder( [out, retval] IDispatch **ppid );
280 [propget]
281 HRESULT IsLink( [out, retval] VARIANT_BOOL *pb );
283 [propget]
284 HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb );
286 [propget]
287 HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb );
289 [propget]
290 HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb );
292 [propget]
293 HRESULT ModifyDate( [out, retval] DATE *pdt );
295 [propput]
296 HRESULT ModifyDate( [in] DATE dt );
298 [propget]
299 HRESULT Size( [out, retval] LONG *pul );
301 [propget]
302 HRESULT Type( [out, retval] BSTR *pbs );
304 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
306 HRESULT InvokeVerb( [in, optional] VARIANT vVerb );
309 /*****************************************************************************
310 * FolderItems interface
313 object,
314 uuid(744129e0-cbe5-11ce-8350-444553540000),
315 oleautomation,
316 dual
318 interface FolderItems : IDispatch
320 [propget]
321 HRESULT Count( [out, retval] long *plCount );
323 [propget]
324 HRESULT Application( [out, retval] IDispatch **ppid );
326 [propget]
327 HRESULT Parent( [out, retval] IDispatch **ppid );
329 HRESULT Item( [in, optional] VARIANT index,
330 [out, retval] FolderItem **ppid );
332 [id(DISPID_NEWENUM)]
333 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
336 /*****************************************************************************
337 * FolderItemVerb interface
340 object,
341 uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85),
342 oleautomation,
343 dual
345 interface FolderItemVerb : IDispatch
347 [propget]
348 HRESULT Application( [out, retval] IDispatch **ppid );
350 [propget]
351 HRESULT Parent( [out, retval] IDispatch **ppid );
353 [propget, id(DISPID_VALUE)]
354 HRESULT Name( [out, retval] BSTR *pbs );
356 HRESULT DoIt();
359 /*****************************************************************************
360 * FolderItemVerbs interface
363 object,
364 uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85),
365 oleautomation,
366 dual
368 interface FolderItemVerbs : IDispatch
370 [propget]
371 HRESULT Count( [out, retval] long *plCount );
373 [propget]
374 HRESULT Application( [out, retval] IDispatch **ppid );
376 [propget]
377 HRESULT Parent( [out, retval] IDispatch **ppid );
379 HRESULT Item( [in, optional] VARIANT index,
380 [out, retval] FolderItemVerb **ppid );
382 [id(DISPID_NEWENUM)]
383 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
386 /*****************************************************************************
387 * IShellDispatch interface
390 object,
391 uuid(d8f015c0-c278-11ce-a49e-444553540000),
392 oleautomation,
393 hidden,
394 dual
396 interface IShellDispatch : IDispatch
398 [propget]
399 HRESULT Application( [out, retval] IDispatch **ppid );
401 [propget]
402 HRESULT Parent( [out, retval] IDispatch **ppid );
404 HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf );
406 HRESULT BrowseForFolder( [in] long Hwnd,
407 [in] BSTR Title,
408 [in] long Options,
409 [in, optional] VARIANT RootFolder,
410 [out, retval] Folder **ppsdf );
412 HRESULT Windows( [out, retval] IDispatch **ppid );
414 HRESULT Open( [in] VARIANT vDir );
416 HRESULT Explore( [in] VARIANT vDir );
418 HRESULT MinimizeAll();
420 HRESULT UndoMinimizeALL();
422 HRESULT FileRun();
424 HRESULT CascadeWindows();
426 HRESULT TileVertically();
428 HRESULT TileHorizontally();
430 HRESULT ShutdownWindows();
432 HRESULT Suspend();
434 HRESULT EjectPC();
436 HRESULT SetTime();
438 HRESULT TrayProperties();
440 HRESULT Help();
442 HRESULT FindFiles();
444 HRESULT FindComputer();
446 HRESULT RefreshMenu();
448 HRESULT ControlPanelItem( [in] BSTR szDir );
452 uuid(13709620-c279-11ce-a49e-444553540000)
454 coclass Shell
456 [default] interface IShellDispatch;
460 uuid(0a89a860-d7b1-11ce-8350-444553540000),
461 hidden
463 coclass ShellDispatchInproc
465 interface IUnknown;
468 typedef
470 uuid(ca31ea20-48d0-11cf-8350-444553540000)
472 enum ShellSpecialFolderConstants {
473 ssfDESKTOP = 0x00,
474 ssfPROGRAMS = 0x02,
475 ssfCONTROLS = 0x03,
476 ssfPRINTERS = 0x04,
477 ssfPERSONAL = 0x05,
478 ssfFAVORITES = 0x06,
479 ssfSTARTUP = 0x07,
480 ssfRECENT = 0x08,
481 ssfSENDTO = 0x09,
482 ssfBITBUCKET = 0x0a,
483 ssfSTARTMENU = 0x0b,
484 ssfDESKTOPDIRECTORY = 0x10,
485 ssfDRIVES = 0x11,
486 ssfNETWORK = 0x12,
487 ssfNETHOOD = 0x13,
488 ssfFONTS = 0x14,
489 ssfTEMPLATES = 0x15,
490 ssfCOMMONSTARTMENU = 0x16,
491 ssfCOMMONPROGRAMS = 0x17,
492 ssfCOMMONSTARTUP = 0x18,
493 ssfCOMMONDESKTOPDIR = 0x19,
494 ssfAPPDATA = 0x1a,
495 ssfPRINTHOOD = 0x1b,
496 ssfLOCALAPPDATA = 0x1c,
497 ssfALTSTARTUP = 0x1d,
498 ssfCOMMONALTSTARTUP = 0x1e,
499 ssfCOMMONFAVORITES = 0x1f,
500 ssfINTERNETCACHE = 0x20,
501 ssfCOOKIES = 0x21,
502 ssfHISTORY = 0x22,
503 ssfCOMMONAPPDATA = 0x23,
504 ssfWINDOWS = 0x24,
505 ssfSYSTEM = 0x25,
506 ssfPROGRAMFILES = 0x26,
507 ssfMYPICTURES = 0x27,
508 ssfPROFILE = 0x28,
509 ssfSYSTEMx86 = 0x29,
510 ssfPROGRAMFILESx86 = 0x30
511 } ShellSpecialFolderConstants;
513 } /* library Shell32 */
515 /*****************************************************************************
516 * IAsyncOperation interface
519 uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4),
520 object,
523 interface IAsyncOperation : IUnknown
525 typedef [unique] IAsyncOperation *LPASYNCOPERATION;
527 HRESULT SetAsyncMode([in] BOOL fDoOpAsync);
529 HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync);
531 HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved);
533 HRESULT InOperation([out] BOOL *pfInAsyncOp);
535 HRESULT EndOperation(
536 [in] HRESULT hResult,
537 [in, unique] IBindCtx *pbcReserved,
538 [in] DWORD dwEffects);