[PSDK]
[reactos.git] / reactos / include / psdk / shobjidl.idl
index 437fba3..5590163 100644 (file)
@@ -589,6 +589,7 @@ cpp_quote("HRESULT WINAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE
 cpp_quote("HRESULT WINAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);")
 cpp_quote("HRESULT WINAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder* psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);")
 cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);")
+cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY pidl_array, IShellItemArray **psia);")
 cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);")
 
 /*****************************************************************************
@@ -800,6 +801,35 @@ cpp_quote("#include <poppack.h>")
     );
 }
 
+[
+    object,
+    uuid(ec39fa88-f8af-41c5-8421-38bed28f4673),
+    pointer_default(unique)
+]
+interface IShellView3 : IShellView2
+{
+    [v1_enum] enum _SV3CVW3_FLAGS
+    {
+        SV3CVW3_DEFAULT          = 0x00000000,
+        SV3CVW3_NONINTERACTIVE   = 0x00000001,
+        SV3CVW3_FORCEVIEWMODE    = 0x00000002,
+        SV3CVW3_FORCEFOLDERFLAGS = 0x00000004
+    };
+
+    typedef DWORD SV3CVW3_FLAGS;
+
+    HRESULT CreateViewWindow3(
+        [in] IShellBrowser *owner,
+        [in, unique] IShellView *prev_view,
+        [in] SV3CVW3_FLAGS view_flags,
+        [in] FOLDERFLAGS mask,
+        [in] FOLDERFLAGS flags,
+        [in] FOLDERVIEWMODE mode,
+        [in, unique] const SHELLVIEWID *view_id,
+        [in] const RECT *rect,
+        [out] HWND *hwnd);
+}
+
 /*****************************************************************************
  * IFolderView interface
  */
@@ -847,6 +877,126 @@ interface IFolderView : IUnknown
     );
 }
 
+[v1_enum] enum tagSORTDIRECTION
+{
+    SORT_DESCENDING = -1,
+    SORT_ASCENDING = 1
+};
+typedef int SORTDIRECTION;
+
+typedef struct SORTCOLUMN
+{
+    PROPERTYKEY propkey;
+    SORTDIRECTION direction;
+} SORTCOLUMN;
+
+typedef [v1_enum] enum FVTEXTTYPE
+{
+    FVST_EMPTYTEXT = 0
+} FVTEXTTYPE;
+
+[
+    uuid(1af3a467-214f-4298-908e-06b03e0b39f9),
+    object,
+    pointer_default(unique)
+]
+interface IFolderView2 : IFolderView
+{
+    HRESULT SetGroupBy(
+        [in] REFPROPERTYKEY key,
+        [in] BOOL ascending);
+
+    [local]
+    HRESULT GetGroupBy(
+        [out] PROPERTYKEY *pkey,
+        [out] BOOL *ascending);
+
+    [call_as(GetGroupBy)]
+    HRESULT RemoteGetGroupBy(
+        [out] PROPERTYKEY *pkey,
+        [out] BOOL *ascending);
+
+    HRESULT SetViewProperty(
+        [in] PCUITEMID_CHILD pidl,
+        [in] REFPROPERTYKEY propkey,
+        [in] REFPROPVARIANT propvar);
+
+    HRESULT GetViewProperty(
+        [in] PCUITEMID_CHILD pidl,
+        [in] REFPROPERTYKEY propkey,
+        [out] PROPVARIANT *propvar);
+
+    HRESULT SetTileViewProperties(
+        [in] PCUITEMID_CHILD pidl,
+        [in, string] LPCWSTR prop_list);
+
+    HRESULT SetExtendedTileViewProperties(
+        [in] PCUITEMID_CHILD pidl,
+        [in, string] LPCWSTR prop_list);
+
+    HRESULT SetText(
+        [in] FVTEXTTYPE type,
+        [in] LPCWSTR text);
+
+    HRESULT SetCurrentFolderFlags(
+        [in] DWORD mask,
+        [in] DWORD flags);
+
+    HRESULT GetCurrentFolderFlags([out] DWORD *flags);
+
+    HRESULT GetSortColumnCount([out] int *columns);
+
+    HRESULT SetSortColumns(
+        [in, size_is(count)] const SORTCOLUMN *columns,
+        [in] int count);
+
+    HRESULT GetSortColumns(
+        [out, size_is(count)] SORTCOLUMN *columns,
+        [in] int count);
+
+    HRESULT GetItem(
+        [in] int ittem,
+        [in] REFIID riid,
+        [out, iid_is(riid)] void **ppv);
+
+    HRESULT GetVisibleItem(
+        [in] int start,
+        [in] BOOL previous,
+        [out] int *item);
+
+    HRESULT GetSelectedItem(
+        [in] int start,
+        [out] int *item);
+
+    HRESULT GetSelection(
+        [in] BOOL none_implies_folder,
+        [out] IShellItemArray **array);
+
+    HRESULT GetSelectionState(
+        [in] PCUITEMID_CHILD pidl,
+        [out] DWORD *flags);
+
+    HRESULT InvokeVerbOnSelection([in, unique, string] LPCSTR verb);
+
+    HRESULT SetViewModeAndIconSize(
+        [in] FOLDERVIEWMODE mode,
+        [in] int size);
+
+    HRESULT GetViewModeAndIconSize(
+        [out] FOLDERVIEWMODE *mode,
+        [out] int *size);
+
+    HRESULT SetGroupSubsetCount([in] UINT visible_rows);
+
+    HRESULT GetGroupSubsetCount([out] UINT *visible_rows);
+
+    HRESULT SetRedraw([in] BOOL redraw);
+
+    HRESULT IsMoveInSameFolder();
+
+    HRESULT DoRename();
+}
+
 /*****************************************************************************
  * IShellBrowser interface
  */
@@ -1877,6 +2027,145 @@ interface ITaskbarList : IUnknown
         [in] HWND hwnd);
 }
 
+/*****************************************************************************
+ *    ITaskbarList2 interface
+ */
+[
+    object,
+    uuid(602D4995-B13A-429B-A66E-1935E44F4317),
+    pointer_default(unique)
+]
+interface ITaskbarList2 : ITaskbarList
+{
+    HRESULT MarkFullscreenWindow(
+        [in] HWND hwnd,
+        [in] BOOL fullscreen);
+}
+
+cpp_quote("#ifdef MIDL_PASS")
+typedef IUnknown* HIMAGELIST;
+cpp_quote("#endif")
+
+typedef [v1_enum] enum THUMBBUTTONFLAGS {
+    THBF_ENABLED         = 0x0000,
+    THBF_DISABLED        = 0x0001,
+    THBF_DISMISSONCLICK  = 0x0002,
+    THBF_NOBACKGROUND    = 0x0004,
+    THBF_HIDDEN          = 0x0008,
+    THBF_NONINTERACTIVE  = 0x0010
+} THUMBBUTTONFLAGS;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)")
+
+typedef [v1_enum] enum THUMBBUTTONMASK {
+    THB_BITMAP   = 0x0001,
+    THB_ICON     = 0x0002,
+    THB_TOOLTIP  = 0x0004,
+    THB_FLAGS    = 0x0008
+} THUMBBUTTONMASK;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)")
+
+cpp_quote("#include <pshpack8.h>")
+typedef struct THUMBBUTTON {
+    THUMBBUTTONMASK dwMask;
+    UINT iId;
+    UINT iBitmap;
+    HICON hIcon;
+    WCHAR szTip[260];
+    THUMBBUTTONFLAGS dwFlags;
+} THUMBBUTTON, *LPTHUMBBUTTON;
+cpp_quote("#include <poppack.h>")
+
+[
+    uuid(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf),
+    object
+]
+interface ITaskbarList3 : ITaskbarList2
+{
+    typedef [v1_enum] enum TBPFLAG {
+        TBPF_NOPROGRESS     = 0x0000,
+        TBPF_INDETERMINATE  = 0x0001,
+        TBPF_NORMAL         = 0x0002,
+        TBPF_ERROR          = 0x0004,
+        TBPF_PAUSED         = 0x0008
+    } TBPFLAG;
+
+    cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)")
+
+    HRESULT SetProgressValue(
+            [in] HWND hwnd,
+            [in] ULONGLONG ullCompleted,
+            [in] ULONGLONG ullTotal);
+
+    HRESULT SetProgressState(
+            [in] HWND hwnd,
+            [in] TBPFLAG tbpFlags);
+
+    HRESULT RegisterTab(
+            [in] HWND hwndTab,
+            [in] HWND hwndMDI);
+
+    HRESULT UnregisterTab([in] HWND hwndTab);
+
+    HRESULT SetTabOrder(
+            [in] HWND hwndTab,
+            [in] HWND hwndInsertBefore);
+
+    HRESULT SetTabActive(
+            [in] HWND hwndTab,
+            [in] HWND hwndMDI,
+            [in] DWORD dwReserved);
+
+    HRESULT ThumbBarAddButtons(
+            [in] HWND hwnd,
+            [in] UINT cButtons,
+            [in, size_is(cButtons)] LPTHUMBBUTTON pButton);
+
+    HRESULT ThumbBarUpdateButtons(
+            [in] HWND hwnd,
+            [in] UINT cButtons,
+            [in, size_is(cButtons)] LPTHUMBBUTTON pButton);
+
+    HRESULT ThumbBarSetImageList(
+            [in] HWND hwnd,
+            [in] HIMAGELIST himl);
+
+    HRESULT SetOverlayIcon(
+            [in] HWND hwnd,
+            [in] HICON hIcon,
+            [in, unique, string] LPCWSTR pszDescription);
+
+    HRESULT SetThumbnailTooltip(
+            [in] HWND hwnd,
+            [in, unique, string] LPCWSTR pszTip);
+
+    HRESULT SetThumbnailClip(
+            [in] HWND hwnd,
+            [in] RECT *prcClip);
+}
+
+[
+    uuid(c43dc798-95d1-4bea-9030-bb99e2983a1a),
+    object
+]
+interface ITaskbarList4 : ITaskbarList3
+{
+    typedef [v1_enum] enum STPFLAG {
+        STPF_NONE                       = 0x0000,
+        STPF_USEAPPTHUMBNAILALWAYS      = 0x0001,
+        STPF_USEAPPTHUMBNAILWHENACTIVE  = 0x0002,
+        STPF_USEAPPPEEKALWAYS           = 0x0004,
+        STPF_USEAPPPEEKWHENACTIVE       = 0x0008
+    } STPFLAG;
+
+    cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)")
+
+    HRESULT SetTabProperties(
+            [in] HWND hwndTab,
+            [in] STPFLAG stpFlags);
+}
+
 /*****************************************************************************
  * IDefaultExtractIconInit interface
  */
@@ -2162,25 +2451,6 @@ interface IMenuBand : IUnknown
         [out] LRESULT* plRet);
 }
 
-/*****************************************************************************
- * IProfferService interface
- */
-[
-    uuid(cb728b20-f786-11ce-92ad-00aa00a74cd0),
-    object,
-    pointer_default(unique),
-    local
-]
-interface IProfferService : IUnknown
-{
-    HRESULT ProfferService(
-        [in] REFGUID service,
-        [in] IServiceProvider *pService,
-        [out] DWORD *pCookie);
-
-    HRESULT RevokeService([in] DWORD cookie);
-}
-
 /*****************************************************************************
  * IShellMenuCallback interface
  */
@@ -2392,162 +2662,41 @@ interface ITrackShellMenu : IShellMenu
 
 cpp_quote("#endif /* _WIN32_IE_IE60 */")
 
-cpp_quote("#ifdef MIDL_PASS")
-typedef IUnknown* HIMAGELIST;
-cpp_quote("#endif")
-
-typedef [v1_enum] enum THUMBBUTTONFLAGS {
-    THBF_ENABLED         = 0x0000,
-    THBF_DISABLED        = 0x0001,
-    THBF_DISMISSONCLICK  = 0x0002,
-    THBF_NOBACKGROUND    = 0x0004,
-    THBF_HIDDEN          = 0x0008,
-    THBF_NONINTERACTIVE  = 0x0010
-} THUMBBUTTONFLAGS;
-
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)")
-
-typedef [v1_enum] enum THUMBBUTTONMASK {
-    THB_BITMAP   = 0x0001,
-    THB_ICON     = 0x0002,
-    THB_TOOLTIP  = 0x0004,
-    THB_FLAGS    = 0x0008
-} THUMBBUTTONMASK;
-
-cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)")
-
-cpp_quote("#include <pshpack8.h>")
-typedef struct THUMBBUTTON {
-    THUMBBUTTONMASK dwMask;
-    UINT iId;
-    UINT iBitmap;
-    HICON hIcon;
-    WCHAR szTip[260];
-    THUMBBUTTONFLAGS dwFlags;
-} THUMBBUTTON, *LPTHUMBBUTTON;
-cpp_quote("#include <poppack.h>")
-
 /*****************************************************************************
- *    ITaskbarList2 interface
+ *    IAutoCompleteDropDown interface
  */
 [
     object,
-    uuid(602D4995-B13A-429B-A66E-1935E44F4317),
+    uuid(3CD141F4-3C6A-11d2-BCAA-00C04FD929DB),
     pointer_default(unique)
 ]
-interface ITaskbarList2 : ITaskbarList
-{
-    HRESULT MarkFullscreenWindow(
-        [in] HWND hwnd,
-        [in] BOOL fullscreen);
-}
-
-[
-    uuid(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf),
-    object
-]
-interface ITaskbarList3 : ITaskbarList2
-{
-    typedef [v1_enum] enum TBPFLAG {
-        TBPF_NOPROGRESS     = 0x0000,
-        TBPF_INDETERMINATE  = 0x0001,
-        TBPF_NORMAL         = 0x0002,
-        TBPF_ERROR          = 0x0004,
-        TBPF_PAUSED         = 0x0008
-    } TBPFLAG;
-
-    cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)")
-
-    HRESULT SetProgressValue(
-            [in] HWND hwnd,
-            [in] ULONGLONG ullCompleted,
-            [in] ULONGLONG ullTotal);
-
-    HRESULT SetProgressState(
-            [in] HWND hwnd,
-            [in] TBPFLAG tbpFlags);
-
-    HRESULT RegisterTab(
-            [in] HWND hwndTab,
-            [in] HWND hwndMDI);
-
-    HRESULT UnregisterTab([in] HWND hwndTab);
-
-    HRESULT SetTabOrder(
-            [in] HWND hwndTab,
-            [in] HWND hwndInsertBefore);
-
-    HRESULT SetTabActive(
-            [in] HWND hwndTab,
-            [in] HWND hwndMDI,
-            [in] DWORD dwReserved);
-
-    HRESULT ThumbBarAddButtons(
-            [in] HWND hwnd,
-            [in] UINT cButtons,
-            [in, size_is(cButtons)] LPTHUMBBUTTON pButton);
-
-    HRESULT ThumbBarUpdateButtons(
-            [in] HWND hwnd,
-            [in] UINT cButtons,
-            [in, size_is(cButtons)] LPTHUMBBUTTON pButton);
-
-    HRESULT ThumbBarSetImageList(
-            [in] HWND hwnd,
-            [in] HIMAGELIST himl);
-
-    HRESULT SetOverlayIcon(
-            [in] HWND hwnd,
-            [in] HICON hIcon,
-            [in, unique, string] LPCWSTR pszDescription);
-
-    HRESULT SetThumbnailTooltip(
-            [in] HWND hwnd,
-            [in, unique, string] LPCWSTR pszTip);
-
-    HRESULT SetThumbnailClip(
-            [in] HWND hwnd,
-            [in] RECT *prcClip);
-}
-
-[
-    uuid(c43dc798-95d1-4bea-9030-bb99e2983a1a),
-    object
-]
-interface ITaskbarList4 : ITaskbarList3
+interface IAutoCompleteDropDown : IUnknown
 {
-    typedef [v1_enum] enum STPFLAG {
-        STPF_NONE                       = 0x0000,
-        STPF_USEAPPTHUMBNAILALWAYS      = 0x0001,
-        STPF_USEAPPTHUMBNAILWHENACTIVE  = 0x0002,
-        STPF_USEAPPPEEKALWAYS           = 0x0004,
-        STPF_USEAPPPEEKWHENACTIVE       = 0x0008
-    } STPFLAG;
+cpp_quote("#define ACDD_VISIBLE   0x0001")
 
-    cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)")
+    HRESULT GetDropDownStatus(
+        [out] DWORD *pdwFlags,
+        [out, string] LPWSTR *ppwszString);
 
-    HRESULT SetTabProperties(
-            [in] HWND hwndTab,
-            [in] STPFLAG stpFlags);
+    HRESULT ResetEnumerator();
 }
 
 /*****************************************************************************
- *    IAutoCompleteDropDown interface
+ * IProfferService interface
  */
 [
     object,
-    uuid(3CD141F4-3C6A-11d2-BCAA-00C04FD929DB),
+    uuid(cb728b20-f786-11ce-92ad-00aa00a74cd0),
     pointer_default(unique)
 ]
-interface IAutoCompleteDropDown : IUnknown
+interface IProfferService : IUnknown
 {
-cpp_quote("#define ACDD_VISIBLE   0x0001")
-
-    HRESULT GetDropDownStatus(
-        [out] DWORD *pdwFlags,
-        [out, string] LPWSTR *ppwszString);
+    HRESULT ProfferService(
+        [in] REFGUID service,
+        [in] IServiceProvider *pService,
+        [out] DWORD *pCookie);
 
-    HRESULT ResetEnumerator();
+    HRESULT RevokeService([in] DWORD cookie);
 }
 
 /*****************************************************************************
@@ -2613,7 +2762,9 @@ typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS {
     EBO_ALWAYSNAVIGATE     = 0x04,
     EBO_NOTRAVELLOG        = 0x08,
     EBO_NOWRAPPERWINDOW    = 0x10,
-    EBO_HTMLSHAREPOINTVIEW = 0x20
+    EBO_HTMLSHAREPOINTVIEW = 0x20,
+    EBO_NOBORDER           = 0x40,
+    EBO_NOPERSISTVIEWSTATE = 0x80,
 } EXPLORER_BROWSER_OPTIONS;
 
 cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
@@ -3069,7 +3220,7 @@ interface IFileDialog;
 typedef [v1_enum] enum FDE_OVERWRITE_RESPONSE
 {
     FDEOR_DEFAULT  = 0,
-    FDEOR_ACCCEP   = 1,
+    FDEOR_ACCEPT   = 1,
     FDEOR_REFUSE   = 2
 } FDE_OVERWRITE_RESPONSE;
 
@@ -3944,6 +4095,82 @@ interface ITransferDestination : IUnknown
                        [out, iid_is(riid)] void **presources);
 }
 
+[
+    uuid(92218cab-ecaa-4335-8133-807fd234c2ee),
+    object,
+    pointer_default(unique)
+]
+interface IAssocHandlerInvoker : IUnknown
+{
+    HRESULT SupportsSelection();
+    HRESULT Invoke();
+}
+
+[
+    uuid(f04061ac-1659-4a3f-a954-775aa57fc083),
+    object,
+    pointer_default(unique)
+]
+interface IAssocHandler : IUnknown
+{
+    HRESULT GetName([out, string] LPWSTR *name);
+    HRESULT GetUIName([out, string] LPWSTR *uiname);
+    HRESULT GetIconLocation([out, string] LPWSTR *path,
+                            [out] int *index);
+    HRESULT IsRecommended();
+    HRESULT MakeDefault([in, string] LPCWSTR description);
+    HRESULT Invoke([in] IDataObject *object);
+    HRESULT CreateInvoker([in] IDataObject *object,
+                          [out] IAssocHandlerInvoker **invoker);
+}
+
+[
+    uuid(973810ae-9599-4b88-9e4d-6ee98c9552da),
+    object,
+    pointer_default(unique)
+]
+interface IEnumAssocHandlers : IUnknown
+{
+    HRESULT Next([in]  ULONG count,
+                 [out, size_is(count), length_is(*fetched)] IAssocHandler **handlers,
+                 [out] ULONG *fetched);
+}
+
+typedef enum ASSOC_FILTER
+{
+    ASSOC_FILTER_NONE = 0,
+    ASSOC_FILTER_RECOMMENDED
+} ASSOC_FILTER;
+cpp_quote("HRESULT WINAPI SHAssocEnumHandlers(PCWSTR extra, ASSOC_FILTER filter, IEnumAssocHandlers **handlersenum);")
+
+typedef [v1_enum] enum ACTIVATEOPTIONS
+{
+    AO_NONE             = 0x00000000,
+    AO_DESIGNMODE       = 0x00000001,
+    AO_NOERRORUI        = 0x00000002,
+    AO_NOSPLASHSCREEN   = 0x00000004
+} ACTIVATEOPTIONS;
+
+[
+    uuid(2e941141-7f97-4756-ba1d-9decde894a3d),
+    object,
+    pointer_default(unique)
+]
+interface IApplicationActivationManager : IUnknown
+{
+    HRESULT ActivateApplication([in] LPCWSTR appusermodelid,
+                                [in, unique] LPCWSTR arguments,
+                                [in] ACTIVATEOPTIONS options,
+                                [out] DWORD *processid);
+    HRESULT ActivateForFile([in] LPCWSTR appusermodelid,
+                            [in] IShellItemArray *itemarray,
+                            [in, unique] LPCWSTR verb,
+                            [out] DWORD *processid);
+    HRESULT ActivateForProtocol([in] LPCWSTR appusermodelid,
+                                [in] IShellItemArray *itemarray,
+                                [out] DWORD *processid);
+}
+
 /*****************************************************************************
  * ShellObjects typelibrary
  */
@@ -4025,6 +4252,14 @@ library ShellObjects
         interface ICustomDestinationList;
     }
 
+    [
+        uuid(2d3468c1-36a7-43b6-ac24-d3f02fd9607a)
+    ]
+    coclass EnumerableObjectCollection
+    {
+        interface IEnumObjects;
+    }
+
     [
         uuid(331f1768-05a9-4ddd-b86e-dae34ddc998a)
     ]
@@ -4039,6 +4274,14 @@ library ShellObjects
     coclass ShellItem {
         interface IShellItem2;
     }
+
+    [
+        uuid(45ba127d-10a8-46ea-8ab7-56ea9078943c)
+    ]
+    coclass ApplicationActivationManager
+    {
+        interface IApplicationActivationManager;
+    }
 }
 
 enum _OPPROGDLGF