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); }
public void SetFlags([In] DiskFlags diskFlag) { this.InitializeComInterfaces(); this.disk.SetFlags(diskFlag); this.Refresh(); }