ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

shldisp.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.