Exemple #1
0
 public FileManager(BackgroundWorker backgroundBurnWorke)
 {
     _burnData = new BurnData();
     this.backgroundBurnWorker = backgroundBurnWorke;
     this.files = new List <IMediaItem>();
 }
Exemple #2
0
        private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            BurnData userState = (BurnData)e.UserState;

            if (userState.task == BURN_MEDIA_TASK.BURN_MEDIA_TASK_FILE_SYSTEM)
            {
                this.lbl_DiscStatus.Text = userState.statusMessage;
            }
            else if (userState.task == BURN_MEDIA_TASK.BURN_MEDIA_TASK_WRITING)
            {
                switch (userState.currentAction)
                {
                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA:
                {
                    this.lbl_DiscStatus.Text = "Validating current media...";
                    break;
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA:
                {
                    this.lbl_DiscStatus.Text = "Formatting media...";
                    break;
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE:
                {
                    this.lbl_DiscStatus.Text = "Initializing hardware...";
                    break;
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER:
                {
                    this.lbl_DiscStatus.Text = "Optimizing laser intensity...";
                    break;
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA:
                {
                    long num = userState.lastWrittenLba - userState.startLba;
                    if (num <= 0L || userState.sectorCount <= 0L)
                    {
                        this.lbl_DiscStatus.Text = "Progress 0%";
                        this.progBar.Value       = 0;
                        break;
                    }
                    else
                    {
                        int num1 = (int)(100L * num / userState.sectorCount);
                        this.progBar.Text  = string.Format("{0}%", num1);
                        this.progBar.Value = num1;
                        break;
                    }
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION:
                {
                    this.lbl_DiscStatus.Text = "Finalizing writing...";
                    break;
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED:
                {
                    this.lbl_DiscStatus.Text = "Completed!";
                    break;
                }

                case IMAPI_FORMAT2_DATA_WRITE_ACTION.IMAPI_FORMAT2_DATA_WRITE_ACTION_VERIFYING:
                {
                    this.lbl_DiscStatus.Text = "Verifying";
                    break;
                }
                }
            }
            Application.DoEvents();
        }