Альтернативы использованию транзакционной NTFS

Учитывая, что Microsoft имеетустарела Транзакционная NTFS (TxF):

Microsoft настоятельно рекомендует разработчикам использовать альтернативные средства для достижения вашего приложенияпотребности. Многие сценарии, для которых был разработан TxF, могут быть реализованы с помощью более простых и доступных методов. Кроме того, TxF может быть недоступен в будущих версиях Microsoft Windows.

Хотя TxF является мощным набором API, интерес к этой платформе API со стороны Windows Vista крайне ограничен интересами разработчиков, прежде всего из-за ее сложности и различных нюансов, которые разработчики должны учитывать при разработке приложений. В результате Microsoft рассматривает возможность отказа от API TxF в будущей версии Windows, чтобы сосредоточить усилия на разработке и обслуживании на других функциях и API, которые имеют большую ценность для подавляющего большинства клиентов.

Это означает, что мне нужна альтернатива:

CreateTransactionMoveFileTransactedCommitTransaction

Мои транзакционные требования довольно просты - переместите два файла:

tx = BeginTransaction();
{
   MoveFile(testResults, testResultsArchive); //throws if there's a problem
   MoveFile(cdcResponse, cdcResponseArchive); //throws if there's a problem

   CommitTransaction(tx);
}
finally
{
    CloseHandle(tx);
}

мы думали о поворотеMoveFile в +CopyFileDeleteFile

CopyFile(testResults, testResultsArchive); //throws if there's a problem
CopyFile(cdcResponse, cdcResponseArchive); //throws if there's a problem

DeleteFile(testResults);
DeleteFile(cdcResponse);

Но я надеялся нахорошо решение, а не ошибочное решение. Итак, я попробую еще раз:

CopyFile(testResults, testResultsArchive); //throws if there's a problem
CopyFile(cdcResponse, cdcResponseArchive); //throws if there's a problem

try
{
    DeleteFile(testResults);
}
catch (Exception e)
{
   DeleteFile(testResultsArchive);
   throw e;
}
try
{
    DeleteFile(cdcResponse);
}
catch (Exception e)
{
   DeleteFile(cdcResponseArchive);
}

За исключением того, что я надеялся нахорошо Решение, а не глючит.

Ответы на вопрос(2)

Ваш ответ на вопрос