Alexander Morozov : include: Add some Shell32 interfaces and coclasses.

Alexandre Julliard julliard at winehq.org
Mon Jan 17 10:59:38 CST 2011


Module: wine
Branch: master
Commit: 420b48b4c88a867297d55bb3ac8814de6d9e3b2d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=420b48b4c88a867297d55bb3ac8814de6d9e3b2d

Author: Alexander Morozov <amorozov at etersoft.ru>
Date:   Fri Jan 14 20:41:10 2011 +0300

include: Add some Shell32 interfaces and coclasses.

---

 include/shldisp.idl |  366 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 366 insertions(+), 0 deletions(-)

diff --git a/include/shldisp.idl b/include/shldisp.idl
index 07c3059..ce6d555 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
  */




More information about the wine-cvs mailing list