To be done.
HANDLE CreateTransaction ( LPSECURITY_ATTRIBUTES lpTransactionAttributes, LPGUID UOW, DWORD CreateOptions, DWORD IsolationLevel, DWORD IsolationFlags, DWORD Timeout, LPWSTR Description); BOOL CommitTransaction ( HANDLE TransactionHandle); BOOL RollbackTransaction ( HANDLE TransactionHandle);
Transaction context can be used to group together multiple operations and provide multiple readers with a consistent past snapshot of data in presence of a single writer. Most arguments of the context creation call are ignored and should be set to zero.
HANDLE CreateFileTransacted ( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID pExtendedParameter); BOOL DeleteFileTransacted( LPCTSTR lpFileName, HANDLE hTransaction); BOOL CreateDirectoryTransacted (...); BOOL RemoveDirectoryTransacted (...); BOOL MoveFileTransacted (...); BOOL CopyFileTransacted (...);
The support for transactions is generic, driven by a system transaction manager and cooperating resource managers. Transactional operations can therefore be provided by other parts of the system, such as registry.