ОК.
Просто создается переменная соответствующего типа и передается. В документации есть табличка соответствия типов VARIANT и типов которые надо создавать в .NET. В моем случае надо передать в VARIANT массив SAFEARRAY, для этого нужно передать из .NET System.Array, он же обычный массив на C#.