From 420b48b4c88a867297d55bb3ac8814de6d9e3b2d Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Fri, 14 Jan 2011 20:41:10 +0300 Subject: [PATCH] include: Add some Shell32 interfaces and coclasses. --- include/shldisp.idl | 366 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 366 insertions(+) diff --git a/include/shldisp.idl b/include/shldisp.idl index 07c3059221c..ce6d555d18e 100644 --- a/include/shldisp.idl +++ b/include/shldisp.idl @@ -77,6 +77,15 @@ interface IAutoComplete2 : IAutoComplete } [ + uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe), + version(1.0) +] +library Shell32 +{ + +importlib("stdole2.tlb"); + +[ object, uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39), pointer_default(unique) @@ -119,6 +128,363 @@ coclass ShellFolderViewOC [default, source] dispinterface DShellFolderViewEvents; } +interface FolderItem; +interface FolderItems; +interface FolderItemVerb; +interface FolderItemVerbs; + +/***************************************************************************** + * Folder interface + */ +[ + object, + uuid(bbcbde60-c3ff-11ce-8350-444553540000), + oleautomation, + dual +] +interface Folder : IDispatch +{ + [propget, id(DISPID_VALUE)] + HRESULT Title( [out, retval] BSTR *pbs ); + + [propget] + HRESULT Application( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT Parent( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT ParentFolder( [out, retval] Folder **ppsf ); + + HRESULT Items( [out, retval] FolderItems **ppid ); + + HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid ); + + HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions ); + + HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions ); + + HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions ); + + HRESULT GetDetailsOf( [in] VARIANT vItem, + [in] int iColumn, + [out, retval] BSTR *pbs ); +} + +/***************************************************************************** + * Folder2 interface + */ +[ + object, + uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661), + oleautomation, + dual +] +interface Folder2 : Folder +{ + [propget] + HRESULT Self( [out, retval] FolderItem **ppfi ); + + [propget] + HRESULT OfflineStatus( [out, retval] LONG *pul ); + + HRESULT Synchronize(); + + [propget, id(1)] + HRESULT HaveToShowWebViewBarricade( + [out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade ); + + HRESULT DismissedWebViewBarricade(); +} + +/***************************************************************************** + * Folder3 interface + */ +[ + object, + uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841), + oleautomation, + dual +] +interface Folder3 : Folder2 +{ + [propget, id(2)] + HRESULT ShowWebViewBarricade( + [out, retval] VARIANT_BOOL *pbShowWebViewBarricade ); + + [propput, id(2)] + HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade ); +} + +/***************************************************************************** + * FolderItem interface + */ +[ + object, + uuid(fac32c80-cbe4-11ce-8350-444553540000), + oleautomation, + dual +] +interface FolderItem : IDispatch +{ + typedef FolderItem *LPFOLDERITEM; + + [propget] + HRESULT Application( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT Parent( [out, retval] IDispatch **ppid ); + + [propget, id(DISPID_VALUE)] + HRESULT Name( [out, retval] BSTR *pbs ); + + [propput, id(DISPID_VALUE)] + HRESULT Name( [in] BSTR bs ); + + [propget] + HRESULT Path( [out, retval] BSTR *pbs ); + + [propget] + HRESULT GetLink( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT GetFolder( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT IsLink( [out, retval] VARIANT_BOOL *pb ); + + [propget] + HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb ); + + [propget] + HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb ); + + [propget] + HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb ); + + [propget] + HRESULT ModifyDate( [out, retval] DATE *pdt ); + + [propput] + HRESULT ModifyDate( [in] DATE dt ); + + [propget] + HRESULT Size( [out, retval] LONG *pul ); + + [propget] + HRESULT Type( [out, retval] BSTR *pbs ); + + HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic ); + + HRESULT InvokeVerb( [in, optional] VARIANT vVerb ); +} + +/***************************************************************************** + * FolderItems interface + */ +[ + object, + uuid(744129e0-cbe5-11ce-8350-444553540000), + oleautomation, + dual +] +interface FolderItems : IDispatch +{ + [propget] + HRESULT Count( [out, retval] long *plCount ); + + [propget] + HRESULT Application( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT Parent( [out, retval] IDispatch **ppid ); + + HRESULT Item( [in, optional] VARIANT index, + [out, retval] FolderItem **ppid ); + + [id(DISPID_NEWENUM)] + HRESULT _NewEnum( [out, retval] IUnknown **ppunk ); +} + +/***************************************************************************** + * FolderItemVerb interface + */ +[ + object, + uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85), + oleautomation, + dual +] +interface FolderItemVerb : IDispatch +{ + [propget] + HRESULT Application( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT Parent( [out, retval] IDispatch **ppid ); + + [propget, id(DISPID_VALUE)] + HRESULT Name( [out, retval] BSTR *pbs ); + + HRESULT DoIt(); +} + +/***************************************************************************** + * FolderItemVerbs interface + */ +[ + object, + uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85), + oleautomation, + dual +] +interface FolderItemVerbs : IDispatch +{ + [propget] + HRESULT Count( [out, retval] long *plCount ); + + [propget] + HRESULT Application( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT Parent( [out, retval] IDispatch **ppid ); + + HRESULT Item( [in, optional] VARIANT index, + [out, retval] FolderItemVerb **ppid ); + + [id(DISPID_NEWENUM)] + HRESULT _NewEnum( [out, retval] IUnknown **ppunk ); +} + +/***************************************************************************** + * IShellDispatch interface + */ +[ + object, + uuid(d8f015c0-c278-11ce-a49e-444553540000), + oleautomation, + hidden, + dual +] +interface IShellDispatch : IDispatch +{ + [propget] + HRESULT Application( [out, retval] IDispatch **ppid ); + + [propget] + HRESULT Parent( [out, retval] IDispatch **ppid ); + + HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf ); + + HRESULT BrowseForFolder( [in] long Hwnd, + [in] BSTR Title, + [in] long Options, + [in, optional] VARIANT RootFolder, + [out, retval] Folder **ppsdf ); + + HRESULT Windows( [out, retval] IDispatch **ppid ); + + HRESULT Open( [in] VARIANT vDir ); + + HRESULT Explore( [in] VARIANT vDir ); + + HRESULT MinimizeAll(); + + HRESULT UndoMinimizeALL(); + + HRESULT FileRun(); + + HRESULT CascadeWindows(); + + HRESULT TileVertically(); + + HRESULT TileHorizontally(); + + HRESULT ShutdownWindows(); + + HRESULT Suspend(); + + HRESULT EjectPC(); + + HRESULT SetTime(); + + HRESULT TrayProperties(); + + HRESULT Help(); + + HRESULT FindFiles(); + + HRESULT FindComputer(); + + HRESULT RefreshMenu(); + + HRESULT ControlPanelItem( [in] BSTR szDir ); +} + +[ + uuid(13709620-c279-11ce-a49e-444553540000) +] +coclass Shell +{ + [default] interface IShellDispatch; +} + +[ + uuid(0a89a860-d7b1-11ce-8350-444553540000), + hidden +] +coclass ShellDispatchInproc +{ + interface IUnknown; +} + +typedef +[ + uuid(ca31ea20-48d0-11cf-8350-444553540000) +] +enum ShellSpecialFolderConstants { + ssfDESKTOP = 0x00, + ssfPROGRAMS = 0x02, + ssfCONTROLS = 0x03, + ssfPRINTERS = 0x04, + ssfPERSONAL = 0x05, + ssfFAVORITES = 0x06, + ssfSTARTUP = 0x07, + ssfRECENT = 0x08, + ssfSENDTO = 0x09, + ssfBITBUCKET = 0x0a, + ssfSTARTMENU = 0x0b, + ssfDESKTOPDIRECTORY = 0x10, + ssfDRIVES = 0x11, + ssfNETWORK = 0x12, + ssfNETHOOD = 0x13, + ssfFONTS = 0x14, + ssfTEMPLATES = 0x15, + ssfCOMMONSTARTMENU = 0x16, + ssfCOMMONPROGRAMS = 0x17, + ssfCOMMONSTARTUP = 0x18, + ssfCOMMONDESKTOPDIR = 0x19, + ssfAPPDATA = 0x1a, + ssfPRINTHOOD = 0x1b, + ssfLOCALAPPDATA = 0x1c, + ssfALTSTARTUP = 0x1d, + ssfCOMMONALTSTARTUP = 0x1e, + ssfCOMMONFAVORITES = 0x1f, + ssfINTERNETCACHE = 0x20, + ssfCOOKIES = 0x21, + ssfHISTORY = 0x22, + ssfCOMMONAPPDATA = 0x23, + ssfWINDOWS = 0x24, + ssfSYSTEM = 0x25, + ssfPROGRAMFILES = 0x26, + ssfMYPICTURES = 0x27, + ssfPROFILE = 0x28, + ssfSYSTEMx86 = 0x29, + ssfPROGRAMFILESx86 = 0x30 +} ShellSpecialFolderConstants; + +} /* library Shell32 */ + /***************************************************************************** * IAsyncOperation interface */ -- 2.11.4.GIT