In such situation it's usually easier to write a wrapper class in .NET that exposes the variant value either as a property or a return value so that you don't have to rely on reference parameters. If you wann a 1999 compatible solution try using VB6 instead. ;)