Ответ 1
Для этой цели вы можете использовать API VSS (Служба теневого копирования томов, а не Visual SourceSafe). В то время как мощный, это не совсем простой в использовании API: Обзор обработки резервной копии под VSS должен дать вам представление о том, что.
Несмотря на то, что это сравнительно недавний API, поддержка VSS для VSS в значительной степени (и непростительно) отсутствует. Вы не можете вызывать большую часть API через Interop, а функции файла Framework не будут работать с пространством имен ядра, которое использует VSS для отображения файлов с моментальным снимком. В качестве бонуса есть ужасающие проблемы с 32/64-битными и XP-vs-Vista, что делает развертывание захватывающим (ответственная команда в Microsoft должна быть очень горд!)
В любом случае проект AlphaVSS намеревается принести полную функциональность VSS для .NET, и выглядит чрезвычайно перспективным, хотя он все еще находится в pre -бетальной стадии. Это может просто сделать трюк для вас, и это с открытым исходным кодом (Managed С++).
Для хорошего примера того, как делать вещи с помощью Win32, см. HoboCopy. Утилита весьма полезна сама по себе, и полный исходный код С++ доступен на странице SourceForge.