/// <summary> /// Parse the BinaryArray_r payload of session. /// </summary> /// <param name="s">The stream to parse</param> public override void Parse(Stream s) { base.Parse(s); byte temp = this.ReadByte(); if (temp == 0xFF) { this.MagicNumber = temp; } else { s.Position -= 1; } this.CValues = this.ReadUint(); List <Binary_r> temBytes = new List <Binary_r>(); for (ulong i = 0; i < this.CValues; i++) { Binary_r br = new Binary_r(); br.Parse(s); temBytes.Add(br); } this.Lpbin = temBytes.ToArray(); }
/// <summary> /// Parse the BinaryArray_r payload of session. /// </summary> /// <param name="s">The stream to parse</param> public override void Parse(Stream s) { base.Parse(s); byte temp = ReadByte(); if (temp == 0xFF) { this.MagicNumber = temp; } else { s.Position -= 1; } this.cValues = ReadUint(); List<Binary_r> temBytes = new List<Binary_r>(); for (ulong i = 0; i < this.cValues; i++) { Binary_r br = new Binary_r(); br.Parse(s); temBytes.Add(br); } this.lpbin = temBytes.ToArray(); }
/// <summary> /// Parse the PROP_VAL_UNION payload of session. /// </summary> /// <param name="s">The stream to parse</param> public override void Parse(Stream s) { base.Parse(s); switch (this.tag) { case 0x00000002: this.i = ReadINT16(); break; case 0x00000003: this.l = ReadINT32(); break; case 0x0000000B: this.b = ReadUshort(); break; case 0x0000001E: this.lpszA = new String_r(); this.lpszA.Parse(s); break; case 0x00000102: this.bin = new Binary_r(); this.bin.Parse(s); break; case 0x0000001F: this.lpszW = new WString_r(); this.lpszW.Parse(s); break; case 0x00000048: this.lpguid = new FlatUID_r(); this.lpguid.Parse(s); break; case 0x00000040: this.ft = new PtypTime(); this.ft.Parse(s); break; case 0x0000000A: this.err = ReadINT32(); break; case 0x00001002: this.MVi = new ShortArray_r(); this.MVi.Parse(s); break; case 0x00001003: this.MVl = new LongArray_r(); this.MVl.Parse(s); break; case 0x0000101E: this.MVszA = new StringArray_r(); this.MVszA.Parse(s); break; case 0x00001102: this.MVbin = new BinaryArray_r(); this.MVbin.Parse(s); break; case 0x00001048: this.MVguid = new FlatUIDArray_r(); this.MVguid.Parse(s); break; case 0x0000101F: this.MVszW = new WStringArray_r(); this.MVszW.Parse(s); break; case 0x00001040: this.MVft = new DateTimeArray_r(); this.MVft.Parse(s); break; case 0x00000001: case 0x0000000D: this.lReserved = ReadINT32(); break; default: break; } }
/// <summary> /// Parse the PROP_VAL_UNION payload of session. /// </summary> /// <param name="s">The stream to parse</param> public override void Parse(Stream s) { base.Parse(s); switch (this.tag) { case 0x00000002: this.i = ReadINT16(); break; case 0x00000003: this.l = ReadINT32(); break; case 0x0000000B: this.b = ReadUshort(); break; case 0x0000001E: this.lpszA = new String_r(); this.lpszA.Parse(s); break; case 0x00000102: this.bin = new Binary_r(); this.bin.Parse(s); break; case 0x0000001F: this.lpszW = new WString_r(); this.lpszW.Parse(s); break; case 0x00000048: this.lpguid = new FlatUID_r(); this.lpguid.Parse(s); break; case 0x00000040: this.ft = new PtypTime(); this.ft.Parse(s); break; case 0x0000000A: this.err = ReadINT32(); break; case 0x00001002: this.MVi = new ShortArray_r(); this.MVi.Parse(s); break; case 0x00001003: this.MVl = new LongArray_r(); this.MVl.Parse(s); break; case 0x0000101E: this.MVszA = new StringArray_r(); this.MVszA.Parse(s); break; case 0x00001102: this.MVbin = new BinaryArray_r(); this.MVbin.Parse(s); break; case 0x00001048: this.MVguid = new FlatUIDArray_r(); this.MVguid.Parse(s); break; case 0x0000101F: this.MVszW = new WStringArray_r(); this.MVszW.Parse(s); break; case 0x00001040: this.MVft = new DateTimeArray_r(); this.MVft.Parse(s); break; case 0x00000001: case 0x0000000D: this.lReserved = ReadINT32(); break; default: break; } }