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