Nikolay Sivov : include: Added ITransferSource/ ITransferDestination interfaces.
Alexandre Julliard
julliard at winehq.org
Thu Feb 13 13:26:09 CST 2014
Module: wine
Branch: master
Commit: c2faae4c3a1a7f6e5ba0b89ca7fcb4275a1a2940
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c2faae4c3a1a7f6e5ba0b89ca7fcb4275a1a2940
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Thu Feb 13 10:13:54 2014 +0400
include: Added ITransferSource/ITransferDestination interfaces.
---
include/shobjidl.idl | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 118 insertions(+)
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index 8fe87b7..c9297a8 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -3321,6 +3321,124 @@ interface IQueryCancelAutoPlay : IUnknown
[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,
+ [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
*/
More information about the wine-cvs
mailing list