public FileManager(BackgroundWorker backgroundBurnWorke) { _burnData = new BurnData(); this.backgroundBurnWorker = backgroundBurnWorke; this.files = new List <IMediaItem>(); }
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(); }