VARIANTARG (Structures)
Last changed: -193.162.99.254

.
Summary
TODO - a short description

C# Definition:

[StructLayout(LayoutKind.Explicit, Size=16)]
struct VARIANTARG {
        [FieldOffset(0)]
        public ushort vt;

        [FieldOffset(2)]
        public ushort wReserved1;

        [FieldOffset(4)]
        public ushort wReserved2;

        [FieldOffset(6)]
        public ushort wReserved3;

        [FieldOffset(8)]
        public long llVal;

        [FieldOffset(8)]
        public int lVal;

        [FieldOffset(8)]
        public byte bVal;

        [FieldOffset(8)]
        public short iVal;

        [FieldOffset(8)]
        public float fltVal;

        [FieldOffset(8)]
        public double dblVal;

        [FieldOffset(8)]
        public short boolVal;

        [FieldOffset(8)]
        public int scode;

        //[FieldOffset(8)]
        //public CY cyVal;

        [FieldOffset(8)]
        public double date;

        [FieldOffset(8)]
        public unsafe ushort* bstrVal;

        //[FieldOffset(8)]
        //public unsafe IUnknown* punkVal;

        //[FieldOffset(8)]
        //public unsafe IDispatch* pdispVal;

        //[FieldOffset(8)]
        //public unsafe SAFEARRAY* parray;

        [FieldOffset(8)]
        public unsafe byte* pbVal;

        [FieldOffset(8)]
        public unsafe short* piVal;

        [FieldOffset(8)]
        public unsafe int* plVal;

        [FieldOffset(8)]
        public unsafe long* pllVal;

        [FieldOffset(8)]
        public unsafe float* pfltVal;

        [FieldOffset(8)]
        public unsafe double* pdblVal;

        [FieldOffset(8)]
        public unsafe short* pboolVal;

        [FieldOffset(8)]
        public unsafe int* pscode;

        //[FieldOffset(8)]
        //public unsafe CY* pcyVal;

        [FieldOffset(8)]
        public unsafe double* pdate;

        [FieldOffset(8)]
        public unsafe ushort** pbstrVal;

        //[FieldOffset(8)]
        //public unsafe IUnknown** ppunkVal;

        //[FieldOffset(8)]
        //public unsafe IDispatch** ppdispVal;

        //[FieldOffset(8)]
        //public unsafe SAFEARRAY** pparray;

        [FieldOffset(8)]
        public unsafe VARIANTARG* pvarVal;

        [FieldOffset(8)]
        public unsafe void* byref;

        [FieldOffset(8)]
        public sbyte cVal;

        [FieldOffset(8)]
        public ushort uiVal;

        [FieldOffset(8)]
        public uint ulVal;

        [FieldOffset(8)]
        public ulong ullVal;

        [FieldOffset(8)]
        public int intVal;

        [FieldOffset(8)]
        public uint uintVal;

        //[FieldOffset(8)]
        //public unsafe DECIMAL* pdecVal;

        [FieldOffset(8)]
        public unsafe sbyte* pcVal;

        [FieldOffset(8)]
        public unsafe ushort* puiVal;

        [FieldOffset(8)]
        public unsafe uint* pulVal;

        [FieldOffset(8)]
        public unsafe ulong* pullVal;

        [FieldOffset(8)]
        public unsafe int* pintVal;

        [FieldOffset(8)]
        public unsafe uint* puintVal;

        [FieldOffset(8)]
        public unsafe void* pvRecord;

        //[FieldOffset(12)]
        //public unsafe IRecordInfo* pRecInfo;

        //[FieldOffset(0)]
        //public DECIMAL decVal;
}

VB Definition:

<StructLayout(LayoutKind.Explicit, Size=16)> _
Structure VARIANTARG
    <FieldOffset(0)> _
    Public vt As System.UInt16

    <FieldOffset(2)> _
    Public wReserved1 As System.UInt16

    <FieldOffset(4)> _
    Public wReserved2 As System.UInt16

    <FieldOffset(6)> _
    Public wReserved3 As System.UInt16

    <FieldOffset(8)> _
    Public llVal As Long

    <FieldOffset(8)> _
    Public lVal As Integer

    <FieldOffset(8)> _
    Public bVal As Byte

    <FieldOffset(8)> _
    Public iVal As Short

    <FieldOffset(8)> _
    Public fltVal As single

    <FieldOffset(8)> _
    Public dblVal As Double

    <FieldOffset(8)> _
    Public boolVal As Short

    <FieldOffset(8)> _
    Public scode As Integer

    '[FieldOffset(8)]
    'public CY cyVal;

    <FieldOffset(8)> _
    Public date As Double

    <FieldOffset(8)> _
    Public unsafe ushort* bstrVal

    '[FieldOffset(8)]
    'public unsafe IUnknown* punkVal;

    '[FieldOffset(8)]
    'public unsafe IDispatch* pdispVal;

    '[FieldOffset(8)]
    'public unsafe SAFEARRAY* parray;

    <FieldOffset(8)> _
    Public unsafe byte* pbVal

    <FieldOffset(8)> _
    Public unsafe short* piVal

    <FieldOffset(8)> _
    Public unsafe int* plVal

    <FieldOffset(8)> _
    Public unsafe long* pllVal

    <FieldOffset(8)> _
    Public unsafe float* pfltVal

    <FieldOffset(8)> _
    Public unsafe double* pdblVal

    <FieldOffset(8)> _
    Public unsafe short* pboolVal

    <FieldOffset(8)> _
    Public unsafe int* pscode

    '[FieldOffset(8)]
    'public unsafe CY* pcyVal;

    <FieldOffset(8)> _
    Public unsafe double* pdate

    <FieldOffset(8)> _
    Public unsafe ushort** pbstrVal

    '[FieldOffset(8)]
    'public unsafe IUnknown** ppunkVal;

    '[FieldOffset(8)]
    'public unsafe IDispatch** ppdispVal;

    '[FieldOffset(8)]
    'public unsafe SAFEARRAY** pparray;

    <FieldOffset(8)> _
    Public unsafe VARIANTARG* pvarVal

    <FieldOffset(8)> _
    Public unsafe void* byref

    <FieldOffset(8)> _
    Public cVal As System.SByte

    <FieldOffset(8)> _
    Public uiVal As System.UInt16

    <FieldOffset(8)> _
    Public ulVal As System.UInt32

    <FieldOffset(8)> _
    Public ullVal As System.UInt64

    <FieldOffset(8)> _
    Public intVal As Integer

    <FieldOffset(8)> _
    Public uintVal As System.UInt32

    '[FieldOffset(8)]
    'public unsafe DECIMAL* pdecVal;

    <FieldOffset(8)> _
    Public unsafe sbyte* pcVal

    <FieldOffset(8)> _
    Public unsafe ushort* puiVal

    <FieldOffset(8)> _
    Public unsafe uint* pulVal

    <FieldOffset(8)> _
    Public unsafe ulong* pullVal

    <FieldOffset(8)> _
    Public unsafe int* pintVal

    <FieldOffset(8)> _
    Public unsafe uint* puintVal

    <FieldOffset(8)> _
    Public unsafe void* pvRecord

    '[FieldOffset(12)]
    'public unsafe IRecordInfo* pRecInfo;

    '[FieldOffset(0)]
    'public DECIMAL decVal;
End Structure

User-Defined Field Types:

None.

Notes:

None.

Documentation
VARIANTARG on MSDN