wined3d: Pass an IWineD3DResourceImpl pointer to context_resource_released().
[wine.git] / include / shldisp.idl
blobce6d555d18e0a678b906b06625f5ec9d923269d5
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 * IAutoComplete interface
34 object,
35 uuid(00bb2762-6a77-11d0-a535-00c04fd7d062),
36 pointer_default(unique)
38 interface IAutoComplete : IUnknown
40 typedef IAutoComplete *LPAUTOCOMPLETE;
42 HRESULT Init( [in] HWND hwndEdit,
43 [in] IUnknown *punkACL,
44 [in] LPCOLESTR pwszRegKeyPath,
45 [in] LPCOLESTR pwszQuickComplete);
47 HRESULT Enable( [in] BOOL fEnable );
50 /*****************************************************************************
51 * IAutoComplete2 interface
54 object,
55 uuid(eac04bc0-3791-11d2-bb95-0060977b464c),
56 pointer_default(unique)
58 interface IAutoComplete2 : IAutoComplete
60 typedef IAutoComplete2 *LPAUTOCOMPLETE2;
62 typedef enum _tagAUTOCOMPLETEOPTIONS
64 ACO_NONE = 0x00, /* No AutoComplete */
65 ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */
66 ACO_AUTOAPPEND = 0x02, /* enable autoappend */
67 ACO_SEARCH = 0x04, /* add search entry to completion list */
68 ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */
69 ACO_USETAB = 0x10, /* use tab to select autosuggest entries */
70 ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */
71 ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */
72 } AUTOCOMPLETEOPTIONS;
74 HRESULT SetOptions( [in] DWORD dwFlag);
76 HRESULT GetOptions( [out] DWORD *pdwFlag);
80 uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe),
81 version(1.0)
83 library Shell32
86 importlib("stdole2.tlb");
89 object,
90 uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39),
91 pointer_default(unique)
93 interface IFolderViewOC : IDispatch
95 HRESULT SetFolderView( [in] IDispatch *pdisp );
99 uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d)
101 dispinterface DShellFolderViewEvents
103 properties:
104 methods:
105 [id(DISPID_SELECTIONCHANGED)]
106 void SelectionChanged();
108 [id(DISPID_FILELISTENUMDONE)]
109 void EnumDone();
111 [id(DISPID_VERBINVOKED)]
112 VARIANT_BOOL VerbInvoked();
114 [id(DISPID_DEFAULTVERBINVOKED)]
115 VARIANT_BOOL DefaultVerbInvoked();
117 [id(DISPID_BEGINDRAG)]
118 VARIANT_BOOL BeginDrag();
122 uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39),
123 hidden
125 coclass ShellFolderViewOC
127 [default] interface IFolderViewOC;
128 [default, source] dispinterface DShellFolderViewEvents;
131 interface FolderItem;
132 interface FolderItems;
133 interface FolderItemVerb;
134 interface FolderItemVerbs;
136 /*****************************************************************************
137 * Folder interface
140 object,
141 uuid(bbcbde60-c3ff-11ce-8350-444553540000),
142 oleautomation,
143 dual
145 interface Folder : IDispatch
147 [propget, id(DISPID_VALUE)]
148 HRESULT Title( [out, retval] BSTR *pbs );
150 [propget]
151 HRESULT Application( [out, retval] IDispatch **ppid );
153 [propget]
154 HRESULT Parent( [out, retval] IDispatch **ppid );
156 [propget]
157 HRESULT ParentFolder( [out, retval] Folder **ppsf );
159 HRESULT Items( [out, retval] FolderItems **ppid );
161 HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid );
163 HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions );
165 HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
167 HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
169 HRESULT GetDetailsOf( [in] VARIANT vItem,
170 [in] int iColumn,
171 [out, retval] BSTR *pbs );
174 /*****************************************************************************
175 * Folder2 interface
178 object,
179 uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661),
180 oleautomation,
181 dual
183 interface Folder2 : Folder
185 [propget]
186 HRESULT Self( [out, retval] FolderItem **ppfi );
188 [propget]
189 HRESULT OfflineStatus( [out, retval] LONG *pul );
191 HRESULT Synchronize();
193 [propget, id(1)]
194 HRESULT HaveToShowWebViewBarricade(
195 [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade );
197 HRESULT DismissedWebViewBarricade();
200 /*****************************************************************************
201 * Folder3 interface
204 object,
205 uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841),
206 oleautomation,
207 dual
209 interface Folder3 : Folder2
211 [propget, id(2)]
212 HRESULT ShowWebViewBarricade(
213 [out, retval] VARIANT_BOOL *pbShowWebViewBarricade );
215 [propput, id(2)]
216 HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade );
219 /*****************************************************************************
220 * FolderItem interface
223 object,
224 uuid(fac32c80-cbe4-11ce-8350-444553540000),
225 oleautomation,
226 dual
228 interface FolderItem : IDispatch
230 typedef FolderItem *LPFOLDERITEM;
232 [propget]
233 HRESULT Application( [out, retval] IDispatch **ppid );
235 [propget]
236 HRESULT Parent( [out, retval] IDispatch **ppid );
238 [propget, id(DISPID_VALUE)]
239 HRESULT Name( [out, retval] BSTR *pbs );
241 [propput, id(DISPID_VALUE)]
242 HRESULT Name( [in] BSTR bs );
244 [propget]
245 HRESULT Path( [out, retval] BSTR *pbs );
247 [propget]
248 HRESULT GetLink( [out, retval] IDispatch **ppid );
250 [propget]
251 HRESULT GetFolder( [out, retval] IDispatch **ppid );
253 [propget]
254 HRESULT IsLink( [out, retval] VARIANT_BOOL *pb );
256 [propget]
257 HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb );
259 [propget]
260 HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb );
262 [propget]
263 HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb );
265 [propget]
266 HRESULT ModifyDate( [out, retval] DATE *pdt );
268 [propput]
269 HRESULT ModifyDate( [in] DATE dt );
271 [propget]
272 HRESULT Size( [out, retval] LONG *pul );
274 [propget]
275 HRESULT Type( [out, retval] BSTR *pbs );
277 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
279 HRESULT InvokeVerb( [in, optional] VARIANT vVerb );
282 /*****************************************************************************
283 * FolderItems interface
286 object,
287 uuid(744129e0-cbe5-11ce-8350-444553540000),
288 oleautomation,
289 dual
291 interface FolderItems : IDispatch
293 [propget]
294 HRESULT Count( [out, retval] long *plCount );
296 [propget]
297 HRESULT Application( [out, retval] IDispatch **ppid );
299 [propget]
300 HRESULT Parent( [out, retval] IDispatch **ppid );
302 HRESULT Item( [in, optional] VARIANT index,
303 [out, retval] FolderItem **ppid );
305 [id(DISPID_NEWENUM)]
306 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
309 /*****************************************************************************
310 * FolderItemVerb interface
313 object,
314 uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85),
315 oleautomation,
316 dual
318 interface FolderItemVerb : IDispatch
320 [propget]
321 HRESULT Application( [out, retval] IDispatch **ppid );
323 [propget]
324 HRESULT Parent( [out, retval] IDispatch **ppid );
326 [propget, id(DISPID_VALUE)]
327 HRESULT Name( [out, retval] BSTR *pbs );
329 HRESULT DoIt();
332 /*****************************************************************************
333 * FolderItemVerbs interface
336 object,
337 uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85),
338 oleautomation,
339 dual
341 interface FolderItemVerbs : IDispatch
343 [propget]
344 HRESULT Count( [out, retval] long *plCount );
346 [propget]
347 HRESULT Application( [out, retval] IDispatch **ppid );
349 [propget]
350 HRESULT Parent( [out, retval] IDispatch **ppid );
352 HRESULT Item( [in, optional] VARIANT index,
353 [out, retval] FolderItemVerb **ppid );
355 [id(DISPID_NEWENUM)]
356 HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
359 /*****************************************************************************
360 * IShellDispatch interface
363 object,
364 uuid(d8f015c0-c278-11ce-a49e-444553540000),
365 oleautomation,
366 hidden,
367 dual
369 interface IShellDispatch : IDispatch
371 [propget]
372 HRESULT Application( [out, retval] IDispatch **ppid );
374 [propget]
375 HRESULT Parent( [out, retval] IDispatch **ppid );
377 HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf );
379 HRESULT BrowseForFolder( [in] long Hwnd,
380 [in] BSTR Title,
381 [in] long Options,
382 [in, optional] VARIANT RootFolder,
383 [out, retval] Folder **ppsdf );
385 HRESULT Windows( [out, retval] IDispatch **ppid );
387 HRESULT Open( [in] VARIANT vDir );
389 HRESULT Explore( [in] VARIANT vDir );
391 HRESULT MinimizeAll();
393 HRESULT UndoMinimizeALL();
395 HRESULT FileRun();
397 HRESULT CascadeWindows();
399 HRESULT TileVertically();
401 HRESULT TileHorizontally();
403 HRESULT ShutdownWindows();
405 HRESULT Suspend();
407 HRESULT EjectPC();
409 HRESULT SetTime();
411 HRESULT TrayProperties();
413 HRESULT Help();
415 HRESULT FindFiles();
417 HRESULT FindComputer();
419 HRESULT RefreshMenu();
421 HRESULT ControlPanelItem( [in] BSTR szDir );
425 uuid(13709620-c279-11ce-a49e-444553540000)
427 coclass Shell
429 [default] interface IShellDispatch;
433 uuid(0a89a860-d7b1-11ce-8350-444553540000),
434 hidden
436 coclass ShellDispatchInproc
438 interface IUnknown;
441 typedef
443 uuid(ca31ea20-48d0-11cf-8350-444553540000)
445 enum ShellSpecialFolderConstants {
446 ssfDESKTOP = 0x00,
447 ssfPROGRAMS = 0x02,
448 ssfCONTROLS = 0x03,
449 ssfPRINTERS = 0x04,
450 ssfPERSONAL = 0x05,
451 ssfFAVORITES = 0x06,
452 ssfSTARTUP = 0x07,
453 ssfRECENT = 0x08,
454 ssfSENDTO = 0x09,
455 ssfBITBUCKET = 0x0a,
456 ssfSTARTMENU = 0x0b,
457 ssfDESKTOPDIRECTORY = 0x10,
458 ssfDRIVES = 0x11,
459 ssfNETWORK = 0x12,
460 ssfNETHOOD = 0x13,
461 ssfFONTS = 0x14,
462 ssfTEMPLATES = 0x15,
463 ssfCOMMONSTARTMENU = 0x16,
464 ssfCOMMONPROGRAMS = 0x17,
465 ssfCOMMONSTARTUP = 0x18,
466 ssfCOMMONDESKTOPDIR = 0x19,
467 ssfAPPDATA = 0x1a,
468 ssfPRINTHOOD = 0x1b,
469 ssfLOCALAPPDATA = 0x1c,
470 ssfALTSTARTUP = 0x1d,
471 ssfCOMMONALTSTARTUP = 0x1e,
472 ssfCOMMONFAVORITES = 0x1f,
473 ssfINTERNETCACHE = 0x20,
474 ssfCOOKIES = 0x21,
475 ssfHISTORY = 0x22,
476 ssfCOMMONAPPDATA = 0x23,
477 ssfWINDOWS = 0x24,
478 ssfSYSTEM = 0x25,
479 ssfPROGRAMFILES = 0x26,
480 ssfMYPICTURES = 0x27,
481 ssfPROFILE = 0x28,
482 ssfSYSTEMx86 = 0x29,
483 ssfPROGRAMFILESx86 = 0x30
484 } ShellSpecialFolderConstants;
486 } /* library Shell32 */
488 /*****************************************************************************
489 * IAsyncOperation interface
492 uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4),
493 object,
496 interface IAsyncOperation : IUnknown
498 typedef [unique] IAsyncOperation *LPASYNCOPERATION;
500 HRESULT SetAsyncMode([in] BOOL fDoOpAsync);
502 HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync);
504 HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved);
506 HRESULT InOperation([out] BOOL *pfInAsyncOp);
508 HRESULT EndOperation(
509 [in] HRESULT hResult,
510 [in, unique] IBindCtx *pbcReserved,
511 [in] DWORD dwEffects);