diff --git a/OutlookFileDrag/OutlookDataObject.cs b/OutlookFileDrag/OutlookDataObject.cs index 3d50290..27812cd 100644 --- a/OutlookFileDrag/OutlookDataObject.cs +++ b/OutlookFileDrag/OutlookDataObject.cs @@ -8,7 +8,7 @@ namespace OutlookFileDrag { //Class that wraps Outlook data object and adds support for CF_HDROP format - class OutlookDataObject : NativeMethods.IDataObject + class OutlookDataObject : NativeMethods.IDataObject, ICustomQueryInterface { private NativeMethods.IDataObject innerData; private string[] tempFilenames; @@ -267,5 +267,44 @@ private void ExtractFiles() } } + public CustomQueryInterfaceResult GetInterface(ref Guid iid, out IntPtr ppv) + { + ppv = IntPtr.Zero; + try + { + log.DebugFormat("Get COM interface {0}", iid); + + //For IDropSource interface, use interface on this object + if (iid == new Guid("0000010E-0000-0000-C000-000000000046")) + { + log.DebugFormat("Interface handled"); + return CustomQueryInterfaceResult.NotHandled; + } + + else + { + //For all other interfaces, use interface on original object + IntPtr pUnk = Marshal.GetIUnknownForObject(this.innerData); + int retVal = Marshal.QueryInterface(pUnk, ref iid, out ppv); + if (retVal == NativeMethods.S_OK) + { + log.DebugFormat("Interface handled by inner object"); + return CustomQueryInterfaceResult.Handled; + } + else + { + log.DebugFormat("Interface not handled by inner object"); + return CustomQueryInterfaceResult.Failed; + } + } + + } + catch (Exception ex) + { + log.Error("Exception in ICustomQueryInterface", ex); + return CustomQueryInterfaceResult.Failed; + } + + } } } diff --git a/OutlookFileDragSetup/OutlookFileDragSetup.vdproj b/OutlookFileDragSetup/OutlookFileDragSetup.vdproj index 6ce4a99..2127e9b 100644 --- a/OutlookFileDragSetup/OutlookFileDragSetup.vdproj +++ b/OutlookFileDragSetup/OutlookFileDragSetup.vdproj @@ -64,13 +64,13 @@ "Entry" { "MsmKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" - "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" + "OwnerKey" = "8:_54EF5F74A56C4AEE96D4330B540B4A3A" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" - "OwnerKey" = "8:_54EF5F74A56C4AEE96D4330B540B4A3A" + "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -142,61 +142,61 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_CE28E7CBCA9C5EDB3BD3A2F1F2116DF9" + "OwnerKey" = "8:_591351D571FEB540A92347F0F74B55CE" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_15F0BD9071B5889215577FD20EC63766" + "OwnerKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_C3161A936F4192497A0972C3EC781BF6" + "OwnerKey" = "8:_9B3B11113C57483FCBDDB37CB3ED5F37" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_12FE3AC54ED17E0AB1007324ABFD58D1" + "OwnerKey" = "8:_BB365CE8FF8B85A3589349A35DAB0785" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_133D4E0B8AD91071625356F7F9F22C66" + "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" + "OwnerKey" = "8:_133D4E0B8AD91071625356F7F9F22C66" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_BB365CE8FF8B85A3589349A35DAB0785" + "OwnerKey" = "8:_12FE3AC54ED17E0AB1007324ABFD58D1" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_9B3B11113C57483FCBDDB37CB3ED5F37" + "OwnerKey" = "8:_C3161A936F4192497A0972C3EC781BF6" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" + "OwnerKey" = "8:_15F0BD9071B5889215577FD20EC63766" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_591351D571FEB540A92347F0F74B55CE" + "OwnerKey" = "8:_CE28E7CBCA9C5EDB3BD3A2F1F2116DF9" "MsmSig" = "8:_UNDEFINED" } } @@ -321,11 +321,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Tools.Applications.Runtime, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_12FE3AC54ED17E0AB1007324ABFD58D1" - { - "Name" = "8:Microsoft.VisualStudio.Tools.Applications.Runtime.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.VisualStudio.Tools.Applications.Runtime.dll" "TargetName" = "8:" @@ -352,11 +347,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Outlook.v4.0.Utilities, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_133D4E0B8AD91071625356F7F9F22C66" - { - "Name" = "8:Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll" "TargetName" = "8:" @@ -383,11 +373,6 @@ "AssemblyAsmDisplayName" = "8:EasyHook, Version=2.7.6578.0, Culture=neutral, PublicKeyToken=4b580fca19d0b0c5, processorArchitecture=MSIL" "ScatterAssemblies" { - "_15F0BD9071B5889215577FD20EC63766" - { - "Name" = "8:EasyHook.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:EasyHook.dll" "TargetName" = "8:" @@ -414,11 +399,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Outlook, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_3DBBABF7C43171A6F7B4D8D682699556" - { - "Name" = "8:Microsoft.Office.Tools.Outlook.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Outlook.dll" "TargetName" = "8:" @@ -445,11 +425,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_5575AAAA0CAC3763D8DCDDD642FBD25F" - { - "Name" = "8:Microsoft.Office.Tools.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.dll" "TargetName" = "8:" @@ -476,11 +451,6 @@ "AssemblyAsmDisplayName" = "8:stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" "ScatterAssemblies" { - "_591351D571FEB540A92347F0F74B55CE" - { - "Name" = "8:stdole.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:stdole.dll" "TargetName" = "8:" @@ -527,11 +497,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_9B3B11113C57483FCBDDB37CB3ED5F37" - { - "Name" = "8:Microsoft.Office.Tools.Common.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Common.dll" "TargetName" = "8:" @@ -578,11 +543,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Common.v4.0.Utilities, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_BB365CE8FF8B85A3589349A35DAB0785" - { - "Name" = "8:Microsoft.Office.Tools.Common.v4.0.Utilities.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Common.v4.0.Utilities.dll" "TargetName" = "8:" @@ -609,11 +569,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.v4.0.Framework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_C3161A936F4192497A0972C3EC781BF6" - { - "Name" = "8:Microsoft.Office.Tools.v4.0.Framework.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.v4.0.Framework.dll" "TargetName" = "8:" @@ -640,11 +595,6 @@ "AssemblyAsmDisplayName" = "8:log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_CE28E7CBCA9C5EDB3BD3A2F1F2116DF9" - { - "Name" = "8:log4net.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:log4net.dll" "TargetName" = "8:" @@ -740,15 +690,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Outlook File Drag" - "ProductCode" = "8:{FF7FBAEC-CA4F-4E26-BF99-93D76C70FB21}" - "PackageCode" = "8:{C17F05A5-D68C-4727-B599-3B3D9BE419A5}" + "ProductCode" = "8:{26BD860F-7DBB-4B2E-A9BC-270FBD780E7E}" + "PackageCode" = "8:{D2323604-720F-4756-89CC-8D8B77F20ABC}" "UpgradeCode" = "8:{2F626147-8F83-4FC1-9190-32AA4F25D487}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:TRUE" - "ProductVersion" = "8:1.0.2" + "ProductVersion" = "8:1.0.3" "Manufacturer" = "8:Tony Federer" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" diff --git a/OutlookFileDragSetup_x64/OutlookFileDragSetup_x64.vdproj b/OutlookFileDragSetup_x64/OutlookFileDragSetup_x64.vdproj index 9f8d4dd..85cdf75 100644 --- a/OutlookFileDragSetup_x64/OutlookFileDragSetup_x64.vdproj +++ b/OutlookFileDragSetup_x64/OutlookFileDragSetup_x64.vdproj @@ -58,13 +58,13 @@ "Entry" { "MsmKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" - "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" + "OwnerKey" = "8:_54EF5F74A56C4AEE96D4330B540B4A3A" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" - "OwnerKey" = "8:_54EF5F74A56C4AEE96D4330B540B4A3A" + "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -148,61 +148,61 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_54EF5F74A56C4AEE96D4330B540B4A3A" + "OwnerKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_CE28E7CBCA9C5EDB3BD3A2F1F2116DF9" + "OwnerKey" = "8:_9B3B11113C57483FCBDDB37CB3ED5F37" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_15F0BD9071B5889215577FD20EC63766" + "OwnerKey" = "8:_BB365CE8FF8B85A3589349A35DAB0785" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_C3161A936F4192497A0972C3EC781BF6" + "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_12FE3AC54ED17E0AB1007324ABFD58D1" + "OwnerKey" = "8:_133D4E0B8AD91071625356F7F9F22C66" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_133D4E0B8AD91071625356F7F9F22C66" + "OwnerKey" = "8:_12FE3AC54ED17E0AB1007324ABFD58D1" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_3DBBABF7C43171A6F7B4D8D682699556" + "OwnerKey" = "8:_C3161A936F4192497A0972C3EC781BF6" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_BB365CE8FF8B85A3589349A35DAB0785" + "OwnerKey" = "8:_15F0BD9071B5889215577FD20EC63766" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_9B3B11113C57483FCBDDB37CB3ED5F37" + "OwnerKey" = "8:_CE28E7CBCA9C5EDB3BD3A2F1F2116DF9" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_5575AAAA0CAC3763D8DCDDD642FBD25F" + "OwnerKey" = "8:_54EF5F74A56C4AEE96D4330B540B4A3A" "MsmSig" = "8:_UNDEFINED" } } @@ -307,11 +307,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Tools.Applications.Runtime, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_12FE3AC54ED17E0AB1007324ABFD58D1" - { - "Name" = "8:Microsoft.VisualStudio.Tools.Applications.Runtime.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.VisualStudio.Tools.Applications.Runtime.dll" "TargetName" = "8:" @@ -338,11 +333,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Outlook.v4.0.Utilities, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_133D4E0B8AD91071625356F7F9F22C66" - { - "Name" = "8:Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll" "TargetName" = "8:" @@ -369,11 +359,6 @@ "AssemblyAsmDisplayName" = "8:EasyHook, Version=2.7.6578.0, Culture=neutral, PublicKeyToken=4b580fca19d0b0c5, processorArchitecture=MSIL" "ScatterAssemblies" { - "_15F0BD9071B5889215577FD20EC63766" - { - "Name" = "8:EasyHook.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:EasyHook.dll" "TargetName" = "8:" @@ -400,11 +385,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Outlook, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_3DBBABF7C43171A6F7B4D8D682699556" - { - "Name" = "8:Microsoft.Office.Tools.Outlook.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Outlook.dll" "TargetName" = "8:" @@ -431,11 +411,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_5575AAAA0CAC3763D8DCDDD642FBD25F" - { - "Name" = "8:Microsoft.Office.Tools.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.dll" "TargetName" = "8:" @@ -462,11 +437,6 @@ "AssemblyAsmDisplayName" = "8:stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" "ScatterAssemblies" { - "_591351D571FEB540A92347F0F74B55CE" - { - "Name" = "8:stdole.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:stdole.dll" "TargetName" = "8:" @@ -493,11 +463,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_9B3B11113C57483FCBDDB37CB3ED5F37" - { - "Name" = "8:Microsoft.Office.Tools.Common.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Common.dll" "TargetName" = "8:" @@ -564,11 +529,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.Common.v4.0.Utilities, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_BB365CE8FF8B85A3589349A35DAB0785" - { - "Name" = "8:Microsoft.Office.Tools.Common.v4.0.Utilities.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.Common.v4.0.Utilities.dll" "TargetName" = "8:" @@ -595,11 +555,6 @@ "AssemblyAsmDisplayName" = "8:Microsoft.Office.Tools.v4.0.Framework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_C3161A936F4192497A0972C3EC781BF6" - { - "Name" = "8:Microsoft.Office.Tools.v4.0.Framework.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:Microsoft.Office.Tools.v4.0.Framework.dll" "TargetName" = "8:" @@ -626,11 +581,6 @@ "AssemblyAsmDisplayName" = "8:log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL" "ScatterAssemblies" { - "_CE28E7CBCA9C5EDB3BD3A2F1F2116DF9" - { - "Name" = "8:log4net.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:log4net.dll" "TargetName" = "8:" @@ -766,15 +716,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Outlook File Drag" - "ProductCode" = "8:{1B1775F4-DD26-42DF-BD29-C601265A9683}" - "PackageCode" = "8:{4FF48096-CDFB-4EE6-B0EC-ED03C3EAAD02}" + "ProductCode" = "8:{10D7ACDB-74DD-44B3-B6FA-9C42DB071AFE}" + "PackageCode" = "8:{9C679AB1-97BB-4472-9030-33BFBB575256}" "UpgradeCode" = "8:{65870D9B-6652-4150-830B-C5199F26E62C}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:TRUE" - "ProductVersion" = "8:1.0.2" + "ProductVersion" = "8:1.0.3" "Manufacturer" = "8:Tony Federer" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" diff --git a/Readme.md b/Readme.md index 6e2b004..83b942a 100644 --- a/Readme.md +++ b/Readme.md @@ -56,6 +56,9 @@ If you find this project useful, please consider donating. Your donations are a ## Version History +### 1.0.3 +- Fixed issue that prevented dragging items from one group to another + ### 1.0.2 - Fixed PathTooLong exception when temporary filename was longer than MAX_PATH