Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenshldisp.idl
Go to the documentation of this file.
00001 /* 00002 * COM interfaces for shell objects 00003 * 00004 * Copyright (C) 2004 Maxime Bellengé 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00019 */ 00020 00021 import "ocidl.idl"; 00022 00023 #include <shdispid.h> 00024 00025 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") 00026 cpp_quote("#undef ShellExecute") 00027 cpp_quote("#endif") 00028 00029 /***************************************************************************** 00030 * IEnumACString interface 00031 */ 00032 [ 00033 local, 00034 object, 00035 uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a), 00036 pointer_default(unique) 00037 ] 00038 interface IEnumACString : IEnumString 00039 { 00040 typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING; 00041 00042 typedef enum _tagACENUMOPTION 00043 { 00044 ACEO_NONE = 0x00000000, 00045 ACEO_MOSTRECENTFIRST = 0x00000001, 00046 ACEO_FIRSTUNUSED = 0x00010000, 00047 } ACENUMOPTION; 00048 00049 HRESULT NextItem( [out] LPWSTR pszUrl, 00050 [in] ULONG cchMax, 00051 [out] ULONG *pulSortIndex); 00052 00053 HRESULT SetEnumOptions( [in] DWORD dwOptions ); 00054 00055 HRESULT GetEnumOptions( [out] DWORD *pdwOptions ); 00056 } 00057 00058 /***************************************************************************** 00059 * IAutoComplete interface 00060 */ 00061 [ 00062 local, 00063 object, 00064 uuid(00bb2762-6a77-11d0-a535-00c04fd7d062), 00065 pointer_default(unique) 00066 ] 00067 interface IAutoComplete : IUnknown 00068 { 00069 typedef IAutoComplete *LPAUTOCOMPLETE; 00070 00071 HRESULT Init( [in] HWND hwndEdit, 00072 [in] IUnknown *punkACL, 00073 [in] LPCOLESTR pwszRegKeyPath, 00074 [in] LPCOLESTR pwszQuickComplete); 00075 00076 HRESULT Enable( [in] BOOL fEnable ); 00077 } 00078 00079 /***************************************************************************** 00080 * IAutoComplete2 interface 00081 */ 00082 [ 00083 local, 00084 object, 00085 uuid(eac04bc0-3791-11d2-bb95-0060977b464c), 00086 pointer_default(unique) 00087 ] 00088 interface IAutoComplete2 : IAutoComplete 00089 { 00090 typedef IAutoComplete2 *LPAUTOCOMPLETE2; 00091 00092 typedef enum _tagAUTOCOMPLETEOPTIONS 00093 { 00094 ACO_NONE = 0x00, /* No AutoComplete */ 00095 ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */ 00096 ACO_AUTOAPPEND = 0x02, /* enable autoappend */ 00097 ACO_SEARCH = 0x04, /* add search entry to completion list */ 00098 ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */ 00099 ACO_USETAB = 0x10, /* use tab to select autosuggest entries */ 00100 ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */ 00101 ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */ 00102 } AUTOCOMPLETEOPTIONS; 00103 00104 HRESULT SetOptions( [in] DWORD dwFlag); 00105 00106 HRESULT GetOptions( [out] DWORD *pdwFlag); 00107 } 00108 00109 [ 00110 uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe), 00111 version(1.0) 00112 ] 00113 library Shell32 00114 { 00115 00116 importlib("stdole2.tlb"); 00117 00118 [ 00119 object, 00120 oleautomation, 00121 uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39), 00122 pointer_default(unique) 00123 ] 00124 interface IFolderViewOC : IDispatch 00125 { 00126 HRESULT SetFolderView( [in] IDispatch *pdisp ); 00127 } 00128 00129 [ 00130 uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d) 00131 ] 00132 dispinterface DShellFolderViewEvents 00133 { 00134 properties: 00135 methods: 00136 [id(DISPID_SELECTIONCHANGED)] 00137 void SelectionChanged(); 00138 00139 [id(DISPID_FILELISTENUMDONE)] 00140 void EnumDone(); 00141 00142 [id(DISPID_VERBINVOKED)] 00143 VARIANT_BOOL VerbInvoked(); 00144 00145 [id(DISPID_DEFAULTVERBINVOKED)] 00146 VARIANT_BOOL DefaultVerbInvoked(); 00147 00148 [id(DISPID_BEGINDRAG)] 00149 VARIANT_BOOL BeginDrag(); 00150 } 00151 00152 [ 00153 uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39), 00154 hidden 00155 ] 00156 coclass ShellFolderViewOC 00157 { 00158 [default] interface IFolderViewOC; 00159 [default, source] dispinterface DShellFolderViewEvents; 00160 } 00161 00162 interface FolderItem; 00163 interface FolderItems; 00164 interface FolderItemVerb; 00165 interface FolderItemVerbs; 00166 00167 /***************************************************************************** 00168 * Folder interface 00169 */ 00170 [ 00171 object, 00172 uuid(bbcbde60-c3ff-11ce-8350-444553540000), 00173 oleautomation, 00174 dual 00175 ] 00176 interface Folder : IDispatch 00177 { 00178 [propget, id(DISPID_VALUE)] 00179 HRESULT Title( [out, retval] BSTR *pbs ); 00180 00181 [propget] 00182 HRESULT Application( [out, retval] IDispatch **ppid ); 00183 00184 [propget] 00185 HRESULT Parent( [out, retval] IDispatch **ppid ); 00186 00187 [propget] 00188 HRESULT ParentFolder( [out, retval] Folder **ppsf ); 00189 00190 HRESULT Items( [out, retval] FolderItems **ppid ); 00191 00192 HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid ); 00193 00194 HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions ); 00195 00196 HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions ); 00197 00198 HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions ); 00199 00200 HRESULT GetDetailsOf( [in] VARIANT vItem, 00201 [in] int iColumn, 00202 [out, retval] BSTR *pbs ); 00203 } 00204 00205 /***************************************************************************** 00206 * Folder2 interface 00207 */ 00208 [ 00209 object, 00210 uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661), 00211 oleautomation, 00212 dual 00213 ] 00214 interface Folder2 : Folder 00215 { 00216 [propget] 00217 HRESULT Self( [out, retval] FolderItem **ppfi ); 00218 00219 [propget] 00220 HRESULT OfflineStatus( [out, retval] LONG *pul ); 00221 00222 HRESULT Synchronize(); 00223 00224 [propget, id(1)] 00225 HRESULT HaveToShowWebViewBarricade( 00226 [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade ); 00227 00228 HRESULT DismissedWebViewBarricade(); 00229 } 00230 00231 /***************************************************************************** 00232 * Folder3 interface 00233 */ 00234 [ 00235 object, 00236 uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841), 00237 oleautomation, 00238 dual 00239 ] 00240 interface Folder3 : Folder2 00241 { 00242 [propget, id(2)] 00243 HRESULT ShowWebViewBarricade( 00244 [out, retval] VARIANT_BOOL *pbShowWebViewBarricade ); 00245 00246 [propput, id(2)] 00247 HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade ); 00248 } 00249 00250 /***************************************************************************** 00251 * FolderItem interface 00252 */ 00253 [ 00254 object, 00255 uuid(fac32c80-cbe4-11ce-8350-444553540000), 00256 oleautomation, 00257 dual 00258 ] 00259 interface FolderItem : IDispatch 00260 { 00261 typedef FolderItem *LPFOLDERITEM; 00262 00263 [propget] 00264 HRESULT Application( [out, retval] IDispatch **ppid ); 00265 00266 [propget] 00267 HRESULT Parent( [out, retval] IDispatch **ppid ); 00268 00269 [propget, id(DISPID_VALUE)] 00270 HRESULT Name( [out, retval] BSTR *pbs ); 00271 00272 [propput, id(DISPID_VALUE)] 00273 HRESULT Name( [in] BSTR bs ); 00274 00275 [propget] 00276 HRESULT Path( [out, retval] BSTR *pbs ); 00277 00278 [propget] 00279 HRESULT GetLink( [out, retval] IDispatch **ppid ); 00280 00281 [propget] 00282 HRESULT GetFolder( [out, retval] IDispatch **ppid ); 00283 00284 [propget] 00285 HRESULT IsLink( [out, retval] VARIANT_BOOL *pb ); 00286 00287 [propget] 00288 HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb ); 00289 00290 [propget] 00291 HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb ); 00292 00293 [propget] 00294 HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb ); 00295 00296 [propget] 00297 HRESULT ModifyDate( [out, retval] DATE *pdt ); 00298 00299 [propput] 00300 HRESULT ModifyDate( [in] DATE dt ); 00301 00302 [propget] 00303 HRESULT Size( [out, retval] LONG *pul ); 00304 00305 [propget] 00306 HRESULT Type( [out, retval] BSTR *pbs ); 00307 00308 HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic ); 00309 00310 HRESULT InvokeVerb( [in, optional] VARIANT vVerb ); 00311 } 00312 00313 /***************************************************************************** 00314 * FolderItems interface 00315 */ 00316 [ 00317 object, 00318 uuid(744129e0-cbe5-11ce-8350-444553540000), 00319 oleautomation, 00320 dual 00321 ] 00322 interface FolderItems : IDispatch 00323 { 00324 [propget] 00325 HRESULT Count( [out, retval] long *plCount ); 00326 00327 [propget] 00328 HRESULT Application( [out, retval] IDispatch **ppid ); 00329 00330 [propget] 00331 HRESULT Parent( [out, retval] IDispatch **ppid ); 00332 00333 HRESULT Item( [in, optional] VARIANT index, 00334 [out, retval] FolderItem **ppid ); 00335 00336 [id(DISPID_NEWENUM)] 00337 HRESULT _NewEnum( [out, retval] IUnknown **ppunk ); 00338 } 00339 00340 /***************************************************************************** 00341 * FolderItemVerb interface 00342 */ 00343 [ 00344 object, 00345 uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85), 00346 oleautomation, 00347 dual 00348 ] 00349 interface FolderItemVerb : IDispatch 00350 { 00351 [propget] 00352 HRESULT Application( [out, retval] IDispatch **ppid ); 00353 00354 [propget] 00355 HRESULT Parent( [out, retval] IDispatch **ppid ); 00356 00357 [propget, id(DISPID_VALUE)] 00358 HRESULT Name( [out, retval] BSTR *pbs ); 00359 00360 HRESULT DoIt(); 00361 } 00362 00363 /***************************************************************************** 00364 * FolderItemVerbs interface 00365 */ 00366 [ 00367 object, 00368 uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85), 00369 oleautomation, 00370 dual 00371 ] 00372 interface FolderItemVerbs : IDispatch 00373 { 00374 [propget] 00375 HRESULT Count( [out, retval] long *plCount ); 00376 00377 [propget] 00378 HRESULT Application( [out, retval] IDispatch **ppid ); 00379 00380 [propget] 00381 HRESULT Parent( [out, retval] IDispatch **ppid ); 00382 00383 HRESULT Item( [in, optional] VARIANT index, 00384 [out, retval] FolderItemVerb **ppid ); 00385 00386 [id(DISPID_NEWENUM)] 00387 HRESULT _NewEnum( [out, retval] IUnknown **ppunk ); 00388 } 00389 00390 /***************************************************************************** 00391 * IShellDispatch interface 00392 */ 00393 [ 00394 object, 00395 uuid(d8f015c0-c278-11ce-a49e-444553540000), 00396 oleautomation, 00397 hidden, 00398 dual 00399 ] 00400 interface IShellDispatch : IDispatch 00401 { 00402 [propget] 00403 HRESULT Application( [out, retval] IDispatch **ppid ); 00404 00405 [propget] 00406 HRESULT Parent( [out, retval] IDispatch **ppid ); 00407 00408 HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf ); 00409 00410 HRESULT BrowseForFolder( [in] long Hwnd, 00411 [in] BSTR Title, 00412 [in] long Options, 00413 [in, optional] VARIANT RootFolder, 00414 [out, retval] Folder **ppsdf ); 00415 00416 HRESULT Windows( [out, retval] IDispatch **ppid ); 00417 00418 HRESULT Open( [in] VARIANT vDir ); 00419 00420 HRESULT Explore( [in] VARIANT vDir ); 00421 00422 HRESULT MinimizeAll(); 00423 00424 HRESULT UndoMinimizeALL(); 00425 00426 HRESULT FileRun(); 00427 00428 HRESULT CascadeWindows(); 00429 00430 HRESULT TileVertically(); 00431 00432 HRESULT TileHorizontally(); 00433 00434 HRESULT ShutdownWindows(); 00435 00436 HRESULT Suspend(); 00437 00438 HRESULT EjectPC(); 00439 00440 HRESULT SetTime(); 00441 00442 HRESULT TrayProperties(); 00443 00444 HRESULT Help(); 00445 00446 HRESULT FindFiles(); 00447 00448 HRESULT FindComputer(); 00449 00450 HRESULT RefreshMenu(); 00451 00452 HRESULT ControlPanelItem( [in] BSTR szDir ); 00453 } 00454 00455 [ 00456 object, 00457 uuid(a4c6892c-3ba9-11d2-9dea-00c04fb16162), 00458 oleautomation, 00459 hidden, 00460 dual, 00461 ] 00462 interface IShellDispatch2 : IShellDispatch 00463 { 00464 HRESULT IsRestricted([in] BSTR group, [in] BSTR restriction, [out, retval] long *value); 00465 HRESULT ShellExecute([in] BSTR file, [in, optional] VARIANT args, [in, optional] VARIANT dir, 00466 [in, optional] VARIANT op, [in, optional] VARIANT show); 00467 HRESULT FindPrinter([in, optional] BSTR name, [in, optional] BSTR location, [in, optional] BSTR model); 00468 HRESULT GetSystemInformation([in] BSTR name, [out, retval] VARIANT *ret); 00469 HRESULT ServiceStart([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret); 00470 HRESULT ServiceStop([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret); 00471 HRESULT IsServiceRunning([in] BSTR service, [out, retval] VARIANT *running); 00472 HRESULT CanStartStopService([in] BSTR service, [out, retval] VARIANT *ret); 00473 HRESULT ShowBrowserBar([in] BSTR clsid, [in] VARIANT show, [out, retval] VARIANT *ret); 00474 } 00475 00476 [ 00477 uuid(13709620-c279-11ce-a49e-444553540000) 00478 ] 00479 coclass Shell 00480 { 00481 [default] interface IShellDispatch2; 00482 } 00483 00484 [ 00485 uuid(0a89a860-d7b1-11ce-8350-444553540000), 00486 hidden 00487 ] 00488 coclass ShellDispatchInproc 00489 { 00490 interface IUnknown; 00491 } 00492 00493 typedef 00494 [ 00495 uuid(ca31ea20-48d0-11cf-8350-444553540000) 00496 ] 00497 enum ShellSpecialFolderConstants { 00498 ssfDESKTOP = 0x00, 00499 ssfPROGRAMS = 0x02, 00500 ssfCONTROLS = 0x03, 00501 ssfPRINTERS = 0x04, 00502 ssfPERSONAL = 0x05, 00503 ssfFAVORITES = 0x06, 00504 ssfSTARTUP = 0x07, 00505 ssfRECENT = 0x08, 00506 ssfSENDTO = 0x09, 00507 ssfBITBUCKET = 0x0a, 00508 ssfSTARTMENU = 0x0b, 00509 ssfDESKTOPDIRECTORY = 0x10, 00510 ssfDRIVES = 0x11, 00511 ssfNETWORK = 0x12, 00512 ssfNETHOOD = 0x13, 00513 ssfFONTS = 0x14, 00514 ssfTEMPLATES = 0x15, 00515 ssfCOMMONSTARTMENU = 0x16, 00516 ssfCOMMONPROGRAMS = 0x17, 00517 ssfCOMMONSTARTUP = 0x18, 00518 ssfCOMMONDESKTOPDIR = 0x19, 00519 ssfAPPDATA = 0x1a, 00520 ssfPRINTHOOD = 0x1b, 00521 ssfLOCALAPPDATA = 0x1c, 00522 ssfALTSTARTUP = 0x1d, 00523 ssfCOMMONALTSTARTUP = 0x1e, 00524 ssfCOMMONFAVORITES = 0x1f, 00525 ssfINTERNETCACHE = 0x20, 00526 ssfCOOKIES = 0x21, 00527 ssfHISTORY = 0x22, 00528 ssfCOMMONAPPDATA = 0x23, 00529 ssfWINDOWS = 0x24, 00530 ssfSYSTEM = 0x25, 00531 ssfPROGRAMFILES = 0x26, 00532 ssfMYPICTURES = 0x27, 00533 ssfPROFILE = 0x28, 00534 ssfSYSTEMx86 = 0x29, 00535 ssfPROGRAMFILESx86 = 0x30 00536 } ShellSpecialFolderConstants; 00537 00538 } /* library Shell32 */ 00539 00540 /***************************************************************************** 00541 * IAsyncOperation interface 00542 */ 00543 [ 00544 uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4), 00545 object, 00546 ] 00547 00548 interface IAsyncOperation : IUnknown 00549 { 00550 typedef [unique] IAsyncOperation *LPASYNCOPERATION; 00551 00552 HRESULT SetAsyncMode([in] BOOL fDoOpAsync); 00553 00554 HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync); 00555 00556 HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved); 00557 00558 HRESULT InOperation([out] BOOL *pfInAsyncOp); 00559 00560 HRESULT EndOperation( 00561 [in] HRESULT hResult, 00562 [in, unique] IBindCtx *pbcReserved, 00563 [in] DWORD dwEffects); 00564 } Generated on Sat May 26 2012 04:31:05 for ReactOS by
1.7.6.1
|