public InputshareDataObject(List <ClipboardVirtualFileData.FileAttributes> files) { objectType = ClipboardDataType.File; fileDescriptorStream = GetFileDescriptor(files); foreach (var file in files) { //ISLogger.Write("Creating remote file stream for " + file.FileName); ManagedRemoteIStream str = new ManagedRemoteIStream(file); streams.Add(str); } operationFiles = files; byte[] a = BitConverter.GetBytes((int)DragDropEffects.Copy); IntPtr p = Marshal.AllocHGlobal(a.Length); Marshal.Copy(a, 0, p, a.Length); SetData(NativeMethods.CFSTR_FILEDESCRIPTORW, null); SetData(NativeMethods.CFSTR_FILECONTENTS, null); SetData(NativeMethods.CFSTR_PERFORMEDDROPEFFECT, null); SetData(NativeMethods.CFSTR_PREFERREDDROPEFFECT, IntPtr.Zero); SetData("InputshareFileData", "Inputshare object"); }
public InputshareDataObject(List <ClipboardVirtualFileData.FileAttributes> files) { objectType = ClipboardDataType.File; fileDescriptorStream = GetFileDescriptor(files); foreach (var file in files) { //ISLogger.Write("Creating remote file stream for " + file.FileName); ManagedRemoteIStream str = new ManagedRemoteIStream(file); streams.Add(str); } operationFiles = files; SetData(NativeMethods.CFSTR_FILEDESCRIPTORW, null); SetData(NativeMethods.CFSTR_FILECONTENTS, null); SetData(NativeMethods.CFSTR_PERFORMEDDROPEFFECT, null); SetData("InputshareFileData", "Inputshare object"); }