Esempio n. 1
0
        internal int ReadStruct(byte[] b, int Offset)
        {
            uint method = 860;

            this.TrEntry(method, new object[] { b, Offset });
            IntPtr zero = IntPtr.Zero;
            int    requiredBufferSize = this.GetRequiredBufferSize();
            int    num3 = 0;

            try
            {
                zero = Marshal.AllocCoTaskMem(requiredBufferSize);
                this.lpiUSDStructSize = requiredBufferSize;
                try
                {
                    Marshal.Copy(b, Offset, zero, requiredBufferSize);
                    this.lpiUSD = (structLPIUSD)Marshal.PtrToStructure(zero, typeof(structLPIUSD));
                    num3        = Offset + requiredBufferSize;
                    this.subIdentity.ReadStruct(b, Offset, Offset + 0x10);
                    this.subIdentity.GetEndPosAligned(Offset);
                    this.subName.ReadStruct(b, Offset, Offset + 0x24);
                    this.subName.GetEndPosAligned(Offset);
                }
                finally
                {
                    Marshal.FreeCoTaskMem(zero);
                }
            }
            finally
            {
                base.TrExit(method);
            }
            return(num3);
        }
Esempio n. 2
0
 public LpiUSD()
 {
     base.TrConstructor("%Z% %W% %I% %E% %U%");
     this.lpiUSD                     = new structLPIUSD();
     this.lpiUSD.structId            = new byte[] { 0x4c, 0x55, 0x53, 0x44 };
     this.lpiUSD.version             = 1;
     this.lpiUSD.options             = 0;
     this.subIdentity                = new MQCHARV(true, false);
     this.subName                    = new MQCHARV(true, false);
     this.lpiUSD.subId               = new byte[0x18];
     this.lpiUSD.alternateUserId     = new byte[12];
     this.lpiUSD.alternateSecurityId = new byte[40];
 }