protected virtual int OnDataAvailable(IntPtr p1, int p2) { int result = 1; if (this.currentFile != null) { this.currentFile.BytesExtracted += p2; } if (this.DataAvailable != null) { byte[] data = new byte[p2]; Marshal.Copy(p1, data, 0, p2); DataAvailableEventArgs e = new DataAvailableEventArgs(data); this.DataAvailable(this, e); if (!e.ContinueOperation) { result = -1; } } if ((this.ExtractionProgress != null) && (this.currentFile != null)) { ExtractionProgressEventArgs e = new ExtractionProgressEventArgs(); e.FileName = this.currentFile.FileName; e.FileSize = this.currentFile.UnpackedSize; e.BytesExtracted = this.currentFile.BytesExtracted; e.PercentComplete = this.currentFile.PercentComplete; this.ExtractionProgress(this, e); if (!e.ContinueOperation) { result = -1; } } return(result); }
protected virtual int OnDataAvailable(IntPtr p1, int p2) { int result=1; if(this.currentFile!=null) this.currentFile.BytesExtracted+=p2; if(this.DataAvailable!=null) { byte[] data=new byte[p2]; Marshal.Copy(p1, data, 0, p2); DataAvailableEventArgs e=new DataAvailableEventArgs(data); this.DataAvailable(this, e); if(!e.ContinueOperation) result=-1; } if((this.ExtractionProgress!=null) && (this.currentFile!=null)) { ExtractionProgressEventArgs e = new ExtractionProgressEventArgs(); e.FileName=this.currentFile.FileName; e.FileSize=this.currentFile.UnpackedSize; e.BytesExtracted=this.currentFile.BytesExtracted; e.PercentComplete=this.currentFile.PercentComplete; this.ExtractionProgress(this, e); if(!e.ContinueOperation) result=-1; } return result; }