/// <summary> /// Send the layer boundary information to the drive. /// </summary> /// <param name="boundary">the location of the boundary between layers in blocks</param> /// <returns>the status of the command</returns> public CommandStatus SendDvdLayerBoundaryInformation(uint boundary) { if (m_logger != null) { string args = "SendDvdLayerBoundaryInformation, boundary=" + boundary.ToString(); m_logger.LogMessage(new UserMessage(UserMessage.Category.Debug, 8, "Bwg.Scsi.Device.SendDvdStructure(" + args + ")")); } using (Command cmd = new Command(ScsiCommandCode.SendDvdStructure, 12, 12, Command.CmdDirection.Out, 5 * 60)) { cmd.SetCDB8(7, 0x20); cmd.SetCDB16(8, 12); cmd.SetBuffer16(0, 10); cmd.SetBuffer32(8, boundary); CommandStatus st = SendCommand(cmd); if (st != CommandStatus.Success) return st; } return CommandStatus.Success; }