You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.5 KiB
C#

namespace OPCDA.Interface
{
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, Pack=2), ComVisible(true)]
internal class DUMMY_VARIANT
{
public static short VT_TYPEMASK = 0xfff;
public static short VT_VECTOR = 0x1000;
public static short VT_ARRAY = 0x2000;
public static short VT_BYREF = 0x4000;
public static short VT_ILLEGAL = -1;
public static int ConstSize = 0x10;
public short vt;
public short r1;
public short r2;
public short r3;
public int v1;
public int v2;
[DllImport("oleaut32.dll")]
public static extern void VariantInit(IntPtr addrofvariant);
[DllImport("oleaut32.dll")]
public static extern int VariantClear(IntPtr addrofvariant);
public static string VarEnumToString(VarEnum vevt)
{
string str = "";
short num = (short) vevt;
if (num == VT_ILLEGAL)
{
return "VT_ILLEGAL";
}
if ((num & VT_ARRAY) != 0)
{
str = str + "VT_ARRAY | ";
}
if ((num & VT_BYREF) != 0)
{
str = str + "VT_BYREF | ";
}
if ((num & VT_VECTOR) != 0)
{
str = str + "VT_VECTOR | ";
}
VarEnum enum2 = ((VarEnum) num) & ((VarEnum) VT_TYPEMASK);
return (str + enum2.ToString());
}
}
}