private bool CopyAll(VolumeSnapshotDirectory directory) { directory.Revision = directory.Snapshot.Revision; mArchive.CreateDirectory(directory.Snapshot.Revision, directory.RelativePath); if (!mOperation.CanContinue) { return(false); } foreach (VolumeSnapshotFile fileEntry in directory.Files) { CopyFileToBackup(fileEntry); if (!mOperation.CanContinue) { return(false); } } foreach (VolumeSnapshotDirectory dirEntry in directory.Directories) { if (!CopyAll(dirEntry) || !mOperation.CanContinue) { return(false); } } return(true); }