Example #1
0
        public DiskRecord(List <DatabaseRecordFragment> fragments) : base(fragments)
        {
            // Data begins at 0x10 (VBLK header is at 0x00)
            int offset = 0x00; // relative to Data

            ReadCommonFields(this.Data, ref offset);
            if (RecordRevision == 3)
            {
                string diskGuidString = ReadVarString(this.Data, ref offset);
                DiskGuid = new Guid(diskGuidString);
            }
            else if (RecordRevision == 4)
            {
                DiskGuid    = BigEndianReader.ReadGuid(this.Data, ref offset);
                AltGuidRev4 = BigEndianReader.ReadGuid(this.Data, ref offset);
            }
            else
            {
                throw new NotImplementedException("Unsupported record revision");
            }
            LastDeviceName      = ReadVarString(this.Data, ref offset);
            DiskFlags           = (DiskFlags)BigEndianReader.ReadUInt32(this.Data, ref offset);
            CommitTransactionID = BigEndianReader.ReadUInt64(this.Data, ref offset);
        }
Example #2
0
 public void SetFlags([In] DiskFlags diskFlag)
 {
     this.InitializeComInterfaces();
     this.disk.SetFlags(diskFlag);
     this.Refresh();
 }