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); }
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]; }