[PSDK] Fix a typo.
[reactos.git] / reactos / include / psdk / shobjidl.idl
index 4ab0fa8..e937fc9 100644 (file)
@@ -215,7 +215,7 @@ interface IShellFolder : IUnknown
         [in] LPBC pbcReserved,
         [in, string] LPOLESTR lpszDisplayName,
         [out] ULONG *pchEaten,
-        [out] LPITEMIDLIST *ppidl,
+        [out] PIDLIST_RELATIVE *ppidl,
         [in, out, unique] ULONG *pdwAttributes);
 
     HRESULT EnumObjects(
@@ -224,21 +224,21 @@ interface IShellFolder : IUnknown
         [out] IEnumIDList **ppenumIDList);
 
     HRESULT BindToObject(
-        [in] LPCITEMIDLIST pidl,
+        [in] PCUIDLIST_RELATIVE pidl,
         [in] LPBC pbcReserved,
         [in] REFIID riid,
         [out, iid_is(riid)] void **ppvOut);
 
     HRESULT BindToStorage(
-        [in] LPCITEMIDLIST pidl,
+        [in] PCUIDLIST_RELATIVE pidl,
         [in] LPBC pbcReserved,
         [in] REFIID riid,
         [out, iid_is(riid)] void **ppvObj);
 
     HRESULT CompareIDs(
         [in] LPARAM lParam,
-        [in] LPCITEMIDLIST pidl1,
-        [in] LPCITEMIDLIST pidl2);
+        [in] PCUIDLIST_RELATIVE pidl1,
+        [in] PCUIDLIST_RELATIVE pidl2);
 
     HRESULT CreateViewObject(
         [in] HWND hwndOwner,
@@ -247,28 +247,28 @@ interface IShellFolder : IUnknown
 
     HRESULT GetAttributesOf(
         [in] UINT cidl,
-        [in, size_is(cidl)] LPCITEMIDLIST *apidl,
+        [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl,
         [in, out] SFGAOF *rgfInOut);
 
     HRESULT GetUIObjectOf(
         [in] HWND hwndOwner,
         [in] UINT cidl,
-        [in, size_is(cidl)] LPCITEMIDLIST *apidl,
+        [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl,
         [in] REFIID riid,
         [in, out, unique] UINT *prgfInOut,
         [out, iid_is(riid)] void **ppvOut);
 
     HRESULT GetDisplayNameOf(
-        [in] LPCITEMIDLIST pidl,
+        [in] PCUITEMID_CHILD pidl,
         [in] SHGDNF uFlags,
         [out] STRRET *lpName);
 
     HRESULT SetNameOf(
         [in] HWND hwnd,
-        [in] LPCITEMIDLIST pidl,
+        [in] PCUITEMID_CHILD pidl,
         [in, string] LPCOLESTR lpszName,
         [in] SHGDNF uFlags,
-        [out] LPITEMIDLIST *ppidlOut);
+        [out] PITEMID_CHILD *ppidlOut);
 }
 
 
@@ -332,8 +332,8 @@ interface IShellFolder2 : IShellFolder
     HRESULT EnumSearches( [out] IEnumExtraSearch **ppenum );
     HRESULT GetDefaultColumn( [in] DWORD dwReserved, [out] ULONG *pSort, [out] ULONG *pDisplay );
     HRESULT GetDefaultColumnState( [in] UINT iColumn, [out] SHCOLSTATEF *pcsFlags );
-    HRESULT GetDetailsEx( [in] LPCITEMIDLIST pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv);
-    HRESULT GetDetailsOf( [in] LPCITEMIDLIST pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd);
+    HRESULT GetDetailsEx( [in] PCUITEMID_CHILD pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv);
+    HRESULT GetDetailsOf( [in] PCUITEMID_CHILD pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd);
     HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid );
 }
 
@@ -847,6 +847,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
  */
@@ -3069,7 +3189,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;
 
@@ -3813,6 +3933,137 @@ interface ICustomDestinationList : IUnknown
     HRESULT AbortList();
 }
 
+[
+    uuid(ddefe873-6997-4e68-be26-39b633adbe12),
+    object,
+    pointer_default(unique)
+]
+interface IQueryCancelAutoPlay : IUnknown
+{
+    HRESULT AllowAutoPlay([in, string] LPCWSTR path,
+                          [in] DWORD content_type,
+                          [in, string] LPCWSTR label,
+                          [in] DWORD serial_number);
+}
+
+[
+    uuid(d594d0d8-8da7-457b-b3b4-ce5dbaac0b88),
+    pointer_default(unique)
+]
+interface ITransferAdviseSink : IUnknown
+{
+    [v1_enum] enum _TRANSFER_ADVISE_STATE
+    {
+        TS_NONE          = 0,
+        TS_PERFORMING    = 1,
+        TS_PREPARING     = 2,
+        TS_INDETERMINATE = 4
+    };
+    typedef DWORD TRANSFER_ADVISE_STATE;
+
+    HRESULT UpdateProgress([in] ULONGLONG size_current,
+                           [in] ULONGLONG size_total,
+                           [in] INT files_current,
+                           [in] INT files_total,
+                           [in] INT folders_current,
+                           [in] INT folders_total);
+    HRESULT UpdateTransferState([in] TRANSFER_ADVISE_STATE state);
+    HRESULT ConfirmOverwrite([in] IShellItem *source,
+                             [in] IShellItem *dest_parent,
+                             [in, string] LPCWSTR name);
+    HRESULT ConfirmEncryptLoss([in] IShellItem *source);
+    HRESULT FileFailure([in] IShellItem *item,
+                        [in, unique, string] LPCWSTR itemname,
+                        [in] HRESULT hr,
+                        [in, out, unique, size_is(crename)] LPWSTR rename,
+                        [in] ULONG crename);
+    HRESULT SubStreamFailure([in] IShellItem *item,
+                             [in, string] LPCWSTR stream,
+                             [in] HRESULT hr);
+    HRESULT PropertyFailure([in] IShellItem *item,
+                            [in, unique] const PROPERTYKEY *key,
+                            [in] HRESULT hr);
+}
+
+[v1_enum] enum _TRANSFER_SOURCE_FLAGS
+{
+    TSF_NORMAL                     = 0,
+    TSF_FAIL_EXIST                 = 0,
+    TSF_RENAME_EXIST               = 0x1,
+    TSF_OVERWRITE_EXIST            = 0x2,
+    TSF_ALLOW_DECRYPTION           = 0x4,
+    TSF_NO_SECURITY                = 0x8,
+    TSF_COPY_CREATION_TIME         = 0x10,
+    TSF_COPY_WRITE_TIME            = 0x20,
+    TSF_USE_FULL_ACCESS            = 0x40,
+    TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x80,
+    TSF_COPY_HARD_LINK             = 0x100,
+    TSF_COPY_LOCALIZED_NAME        = 0x200,
+    TSF_MOVE_AS_COPY_DELETE        = 0x400,
+    TSF_SUSPEND_SHELLEVENTS        = 0x800
+};
+typedef DWORD TRANSFER_SOURCE_FLAGS;
+
+[
+    uuid(00adb003-bde9-45c6-8e29-d09f9353e108),
+    object,
+    pointer_default(unique)
+]
+interface ITransferSource : IUnknown
+{
+    HRESULT Advise([in] ITransferAdviseSink *sink, [out] DWORD *cookie);
+    HRESULT Unadvise([in] DWORD cookie);
+    HRESULT SetProperties([in] IPropertyChangeArray *array);
+    HRESULT OpenItem([in] IShellItem *item,
+                     [in] TRANSFER_SOURCE_FLAGS flags,
+                     [in] REFIID riid,
+                     [out, iid_is(riid)] void **ppv);
+    HRESULT MoveItem([in] IShellItem *item,
+                     [in] IShellItem *parent_dest,
+                     [in, string] LPCWSTR name_dest,
+                     [in] TRANSFER_SOURCE_FLAGS flags,
+                     [out] IShellItem **newitem);
+    HRESULT RecycleItem([in] IShellItem *source,
+                        [in] IShellItem *parent_dest,
+                        [in] TRANSFER_SOURCE_FLAGS flags,
+                        [out] IShellItem **new_dest);
+    HRESULT RemoveItem([in] IShellItem *source, [in] TRANSFER_SOURCE_FLAGS flags);
+    HRESULT RenameItem([in] IShellItem *source,
+                       [in, string] LPCWSTR newname,
+                       [in] TRANSFER_SOURCE_FLAGS flags,
+                       [out] IShellItem **new_dest);
+    HRESULT LinkItem([in] IShellItem *source,
+                     [in] IShellItem *parent_dest,
+                     [in, unique, string] LPCWSTR new_name,
+                     [in] TRANSFER_SOURCE_FLAGS flags,
+                     [out] IShellItem **new_dest);
+    HRESULT ApplyPropertiesToItem([in] IShellItem *source, [out] IShellItem **newitem);
+    HRESULT GetDefaultDestinationName([in] IShellItem *source,
+                                      [in] IShellItem *parent_dest,
+                                      [out, string] LPWSTR *dest_name);
+    HRESULT EnterFolder([in] IShellItem *child_folder);
+    HRESULT LeaveFolder([in] IShellItem *child_folder);
+}
+
+[
+    uuid(48addd32-3ca5-4124-abe3-b5a72531b207),
+    object,
+    pointer_default(unique)
+]
+interface ITransferDestination : IUnknown
+{
+    HRESULT Advise([in] ITransferAdviseSink *sink, [out] DWORD *cookie);
+    HRESULT Unadvise([in] DWORD cookie);
+    HRESULT CreateItem([in, string] LPCWSTR name,
+                       [in] DWORD attr,
+                       [in] ULONGLONG size,
+                       [in] TRANSFER_SOURCE_FLAGS flags,
+                       [in] REFIID riid,
+                       [out, iid_is(riid)] void **ppv,
+                       [in] REFIID resources,
+                       [out, iid_is(riid)] void **presources);
+}
+
 /*****************************************************************************
  * ShellObjects typelibrary
  */
@@ -3894,6 +4145,14 @@ library ShellObjects
         interface ICustomDestinationList;
     }
 
+    [
+        uuid(331f1768-05a9-4ddd-b86e-dae34ddc998a)
+    ]
+    coclass QueryCancelAutoPlay
+    {
+        interface IQueryCancelAutoPlay;
+    }
+
     [
         uuid(9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917)
     ]
@@ -3901,3 +4160,178 @@ library ShellObjects
         interface IShellItem2;
     }
 }
+
+enum _OPPROGDLGF
+{
+    OPPROGDLG_DEFAULT = 0,
+    OPPROGDLG_ENABLEPAUSE = 0x80,
+    OPPROGDLG_ALLOWUNDO = 0x100,
+    OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x200,
+    OPPROGDLG_DONTDISPLAYDESTPATH = 0x400,
+    OPPROGDLG_NOMULTIDAYESTIMATES = 0x800,
+    OPPROGDLG_DONTDISPLAYLOCATIONS = 0x1000
+};
+typedef DWORD OPPROGDLGF;
+
+enum _PDMODE
+{
+    PDM_DEFAULT = 0,
+    PDM_RUN = 0x1,
+    PDM_PREFLIGHT = 0x2,
+    PDM_UNDOING = 0x4,
+    PDM_ERRORSBLOCKING = 0x8,
+    PDM_INDETERMINATE = 0x10
+};
+typedef DWORD PDMODE;
+
+typedef enum PDOPSTATUS
+{
+    PDOPS_RUNNING = 1,
+    PDOPS_PAUSED = 2,
+    PDOPS_CANCELLED = 3,
+    PDOPS_STOPPED = 4,
+    PDOPS_ERRORS = 5
+}      PDOPSTATUS;
+
+typedef enum _SPACTION
+{
+    SPACTION_NONE = 0,
+    SPACTION_MOVING = 1,
+    SPACTION_COPYING = 2,
+    SPACTION_RECYCLING = 3,
+    SPACTION_APPLYINGATTRIBS = 4,
+    SPACTION_DOWNLOADING = 5,
+    SPACTION_SEARCHING_INTERNET = 6,
+    SPACTION_CALCULATING = 7,
+    SPACTION_UPLOADING = 8,
+    SPACTION_SEARCHING_FILES = 9,
+    SPACTION_DELETING = 10,
+    SPACTION_RENAMING = 11,
+    SPACTION_FORMATTING = 12,
+    SPACTION_COPY_MOVING = 13
+}      SPACTION;
+
+[
+    uuid(0C9FB851-E5C9-43EB-A370-F0677B13874C),
+    object,
+    pointer_default(unique)
+]
+interface IOperationsProgressDialog : IUnknown
+{
+     HRESULT StartProgressDialog(
+         [in] HWND hwndOwner,
+         [in] OPPROGDLGF flags);
+     HRESULT StopProgressDialog();
+     HRESULT SetOperation(
+         [in] SPACTION action);
+     HRESULT SetMode(
+         [in] PDMODE mode);
+     HRESULT UpdateProgress(
+        [in] ULONGLONG ullPointsCurrent,
+        [in] ULONGLONG ullPointsTotal,
+        [in] ULONGLONG ullSizeCurrent,
+        [in] ULONGLONG ullSizeTotal,
+        [in] ULONGLONG ullItemsCurrent,
+        [in] ULONGLONG ullItemsTotal);
+     HRESULT UpdateLocations(
+         [in, optional] IShellItem *psiSource,
+         [in, optional] IShellItem *psiTarget,
+         [in, optional] IShellItem *psiItem);
+     HRESULT ResetTimer();
+     HRESULT PauseTimer();
+     HRESULT ResumeTimer();
+     HRESULT GetMilliseconds(
+         [out] ULONGLONG *pullElapsed, 
+         [out] ULONGLONG *pullRemaining);
+     HRESULT GetOperationStatus(
+         [out] PDOPSTATUS *popstatus);
+};
+
+[
+    uuid(947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8),
+    object,
+    pointer_default(unique)
+]
+interface IFileOperation : IUnknown
+{
+     HRESULT Advise(
+         [in] IFileOperationProgressSink *pfops, 
+         [out] DWORD *pdwCookie);
+     HRESULT Unadvise(
+         [in] DWORD dwCookie);
+     HRESULT SetOperationFlags(
+         [in] DWORD dwOperationFlags);
+     HRESULT SetProgressMessage(
+         [in] LPCWSTR pszMessage);
+     HRESULT SetProgressDialog(
+         [in] IOperationsProgressDialog *popd);
+     HRESULT SetProperties(
+         [in] IPropertyChangeArray *pproparray);
+     HRESULT SetOwnerWindow(
+         [in] HWND hwndOwner);
+     HRESULT ApplyPropertiesToItem(
+         [in] IShellItem *psiItem);
+     HRESULT ApplyPropertiesToItems(
+         [in] IUnknown *punkItems);
+     HRESULT RenameItem(
+         [in] IShellItem *psiItem, 
+         [in] LPCWSTR pszNewName,
+         [in] IFileOperationProgressSink *pfopsItem);
+     HRESULT RenameItems(
+         [in] IUnknown *pUnkItems,
+         [in] LPCWSTR pszNewName);
+     HRESULT MoveItem(
+         [in] IShellItem *psiItem, 
+         [in] IShellItem *psiDestinationFolder, 
+         [in] LPCWSTR pszNewName, 
+         [in] IFileOperationProgressSink *pfopsItem);
+     HRESULT MoveItems(
+         [in] IUnknown *punkItems,
+         [in] IShellItem *psiDestinationFolder);
+     HRESULT CopyItem(
+         [in] IShellItem *psiItem, 
+         [in] IShellItem *psiDestinationFolder, 
+         [in] LPCWSTR pszCopyName, 
+         [in] IFileOperationProgressSink *pfopsItem);
+     HRESULT CopyItems(
+         [in] IUnknown *punkItems, 
+         [in] IShellItem *psiDestinationFolder);
+     HRESULT DeleteItem(
+         [in] IShellItem *psiItem, 
+         [in] IFileOperationProgressSink *pfopsItem);
+     HRESULT DeleteItems(
+         [in] IUnknown *punkItems);
+     HRESULT NewItem(
+         [in] IShellItem *psiDestinationFolder, 
+         [in] DWORD dwFileAttributes, 
+         [in] LPCWSTR pszName, 
+         [in] LPCWSTR pszTemplateName, 
+         [in] IFileOperationProgressSink *pfopsItem);
+     HRESULT PerformOperations();
+     HRESULT GetAnyOperationsAborted(
+         [out] BOOL *pfAnyOperationsAborted);
+};
+
+[
+    uuid(6CCB7BE0-6807-11d0-B810-00C04FD706EC),
+    object,
+    local,
+    pointer_default(unique)
+]
+interface IShellTaskScheduler : IUnknown
+{
+    HRESULT AddTask(
+        [in] IRunnableTask *pTask, 
+        [in] REFGUID rtoid, 
+        [in] DWORD_PTR lParam, 
+        [in] DWORD dwPriority);
+    HRESULT RemoveTasks(
+        [in] REFGUID rtoid, 
+        [in] DWORD_PTR lParam, 
+        [in] BOOL fWaitIfRunning);
+    UINT CountTasks(
+        [in] REFGUID rtoid);
+    HRESULT Status(
+        [in] DWORD dwReleaseStatus, 
+        [in] DWORD dwThreadTimeout);
+}