Speed Racer (16-12-18)
سلام
alphavss wrapper را گرفتم (که برای کار با shadow copy در دات نت هست) .
با دنبال کردن راهنمای سایت های زیر :
Ronen Ariely Personal Website
AlphaVSS 1.4.0 – AlphaVSS – Bringing Windows Volume Shadow Copy Service to .NET
IVssBackupComponents Interface
Implementation Details for Creating Shadow Copies - Windows applications
و البته اینو هنوز ندیدم :
Volume Shadow Copy Service
کد زیر را نوشتم :
کد:کد:IVssImplementation vssImplementation = VssUtils.LoadImplementation(); // اولین کار ، شناسایی سیستم عامل و 32 بیتی یا 64 بیتی بودن اون برای شادو کپی هست که این تابع این کار را انجام میده using (IVssBackupComponents vssBackup = vssImplementation.CreateVssBackupComponents()) // دومین کار مهم ، ساختن شی ای از فرزندان اینترفیس IVssBackupComponents هست تا با شادو کپی بتونیم کار کنیم که این تابع این کار را انجام میده .) { vssBackup.InitializeForBackup(null); vssBackup.GatherWriterMetadata(); vssBackup.SetContext(VssSnapshotContext.Backup); vssBackup.SetBackupState(false, false, VssBackupType.Full, false); // پیکربندی کلی برای بکاپ Guid MyGuid_1 = vssBackup.StartSnapshotSet(); Guid MyGuid_2 = vssBackup.AddToSnapshotSet("F:\\"); // برای اضافه کردن درایو برای شادو کپی (عملیات شادو کپی را انجام نمیده) vssBackup.PrepareForBackup(); // رویداد PrepareForBackup را برای نویسنده ی بکاپ ایجاد میکنه vssBackup.DoSnapshotSet(); // انجام عملیات شادو کپی ها در این set و مجموعه ، بصورت همزمان }
دات نت فریم وورک 4.0 را انتخاب کردم.
ویژال استودیو هم بصورت run as admin اجرا کردم (وگرنه چون برای بکاپ شادو کپی ، دسترسی admin نداشته باشه ، ارور میده) . مثل زمانی که پادویش میخواد بکاپ بگیره ، موقع نوشتن فایل بکاپ ، یه کوچیک هارد درگیر میشه (و طبعا صدای هارد میاد) ، این کد هم اجرا میشه ، صدای هارد یه کوچیک میاد ولی دیگه وقتی میرم توی properties>previous version از اون درایو را میبینم ، بکاپ جدیدی اضافه نمیشه . ولی کدش هم اروری نمیده . مشکل از کجاست؟ چجوری باید کاری کنم که فایل بکاپ (شادو کپی) گرفته شده ، توی سربرگ previous version نمایش بده؟
بعد اینکه پادویش یه قابلیتی داره که میشه حداقل فضای رزرو شده برای هر درایو را روی مقداری (مثلا 5 درصد از حجم کل اون درایو برای بکاپ) اختصاص داد . این رو چجوری میشه ست کرد؟
بعد هم کد بالا را فقط در صورتی که قصد دارم از درایو F ام بکاپ بگیرم ، تا چقدر میشه خلاصه کرد؟ یعنی همه ی توابعی که در کد بالا فراخونی شد ، لازم اند یا میشه بعضی ها را نادیده گرفت؟ اگه میشه ، کدوم ها را میشه نادیده گرفت؟
سر آخر خک این خط کد را هم به آخر کد بالا اضافه میکنم :
ارور زیر را میده :کد:string path = vssBackup.ExposeSnapshot(MyGuid_2, null, VssVolumeSnapshotAttributes.ExposedLocally, "L:"); MessageBox.Show(path);
ممنونکد:System.ArgumentException: 'Value does not fall within the expected range.'
دانلود فیلم آموزش برنامه نویسی Visual Studio C#.Net
فیلم آموزش کامل Autoplay Media Studio
وقتی انسان ، حیوان هست ، پس قیمت میتونی براش بذاری ولی وقتی انسان حَیّ مُتِاَلِّه هست که قیمت نداره ، بها داره. "دکتر حسن عباسی"
Speed Racer (16-12-18)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks