Interop with PROPVARIANTs in .NET

Introduction When it comes interop, .NET has solved most of the hard problems. However, if you’ve worked with COM interfaces that return or take PROPVARIANTs as parameters, you may have noticed that there isn’t much support for this union’d struct type. I came across one such interface, and needed a good way to interop with…

1

Interop with PROPVARIANTs in .NET

When it comes interop, .NET has solved most of the hard problems. However, if you’ve worked with COM interfaces that return or take PROPVARIANTs as parameters, you may have noticed that there isn’t much support for this union’d struct type. I came across one such interface, and needed a good way to interop with its…

0

PropVariant.cs

Back to Interop with PROPVARIANTs in .NET namespace System.Runtime.InteropServices.ComTypes{    using System;    using System.Runtime.InteropServices;    /// <summary>    /// Represents the OLE struct PROPVARIANT.    /// </summary>    /// <remarks>    /// Must call Clear when finished to avoid memory leaks. If you get the value of    /// a VT_UNKNOWN prop, an implicit AddRef is called, thus your reference will    ///…

0

Shell Style Drag and Drop in .NET – Part 3

Series Links This is part of a 3 part series: Shell Style Drag and Drop in .NET (WPF and WinForms) Shell Style Drag and Drop in .NET – Part 2 Shell Style Drag and Drop in .NET – Part 3 Introduction In Part 1, Shell Style Drag and Drop in .NET (WPF and WinForms), I…

40

Shell Style Drag and Drop in .NET – Part 2

Series Links This is part of a 3 part series: Shell Style Drag and Drop in .NET (WPF and WinForms) Shell Style Drag and Drop in .NET – Part 2 Shell Style Drag and Drop in .NET – Part 3 Introduction Last week, in Shell Style Drag and Drop in .NET (WPF and WinForms), I…

2

Shell Style Drag and Drop in .NET (WPF and WinForms)

Series Links This is part of a 3 part series: Shell Style Drag and Drop in .NET (WPF and WinForms) Shell Style Drag and Drop in .NET – Part 2 Shell Style Drag and Drop in .NET – Part 3 Window Explorer Drag Image Introduction If you’ve worked with .NET drag and drop, you may…

31

Shell Style Drag and Drop in .NET – Part 3

In Part 1, Shell Style Drag and Drop in .NET (WPF and WinForms), I opened up the discussion about implementing a nice Shell style drag image, like that of Windows Explorer, in C#. This involved exposing a couple of COM interfaces to .NET, as well as implementing the COM IDataObject interface. In Shell Style Drag…

0

Shell Style Drag and Drop in .NET – Part 2

Last week, in Shell Style Drag and Drop in .NET (WPF and WinForms), I looked at hooking up the COM interfaces necessary to implement drag images using the Windows Shell. This week, I’m going to introduce some .NET 3.5 extensions (which can be easily converted into .NET 3.0 and earlier static helper functions) that reduce…

4

DragDropLib.cs (Part 2)

Back to Shell Style Drag and Drop in .NET – Part 2 namespace DragDropLib { using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; #region DataObject /// <summary> /// Implements the COM version of IDataObject including SetData. /// </summary> /// <remarks> /// <para>Use this object when using shell (or other unmanged) features /// that utilize the…

0

DragDropLib.cs

Back to Shell Style Drag and Drop in .NET using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; namespace DragDropLib { #region DataObject /// <summary> /// Implements the COM version of IDataObject including SetData. /// </summary> /// <remarks> /// <para>Use this object when using shell (or other unmanged) features /// that utilize the clipboard and/or drag…

0