/// <summary> /// /// </summary> /// <param name="buffer"></param> /// <param name="offset"></param> /// <param name="size"></param> public SpeedDescriptor(IntPtr buffer, int offset, int size) : base(buffer, size) { byte b = Get8(offset); if (((b & 0x03) >> 3 == 0)) { WRC = Device.RotationalControl.CLVandNonPureCav; } else if (((b & 0x03) >> 3) == 1) { WRC = Device.RotationalControl.PureCav; } if ((b & 0x02) == 0) { Exact = false; } else { Exact = true; } if ((b & 0x01) == 0) { MRW = false; } else { MRW = true; } EndLBA = Get32(offset + 4); ReadSpeed = Get32Int(offset + 8); WriteSpeed = Get32Int(offset + 12); }
/// <summary> /// /// </summary> /// <param name="buffer"></param> /// <param name="offset"></param> /// <param name="size"></param> public SpeedDescriptor(IntPtr buffer, int offset, int size) : base(buffer, size) { byte b = Get8(offset); if (((b & 0x03) >> 3 == 0)) WRC = Device.RotationalControl.CLVandNonPureCav ; else if (((b & 0x03) >> 3) == 1) WRC = Device.RotationalControl.PureCav ; if ((b & 0x02) == 0) Exact = false ; else Exact = true ; if ((b & 0x01) == 0) MRW = false ; else MRW = true ; EndLBA = Get32(offset + 4); ReadSpeed = Get32Int(offset + 8); WriteSpeed = Get32Int(offset + 12); }