Класс CAtlTransactionManager
Класс CAtlTransactionManager предоставляет оболочку для функций Диспетчера транзакций ядра (KTM).
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
class CAtlTransactionManager;
Участники
Открытые конструкторы
Имя | Описание |
---|---|
~CAtlTransactionManager | Деструктор CAtlTransactionManager. |
CAtlTransactionManager | Конструктор CAtlTransactionManager. |
Открытые методы
Имя | Описание |
---|---|
Закрыть | Закрывает один дескриптор транзакции. |
Фиксация | Запрашивает фиксацию транзакции. |
Создание | Создает дескриптор транзакции. |
CreateFile | Создает или открывает файл, поток файлов или каталог как транзакцию. |
DeleteFile | Удаляет существующий файл как транзакцию. |
FindFirstFile | Выполняет поиск каталога для файла или подкаталога как транзакционная операция. |
GetFileAttributes | Извлекает атрибуты файловой системы для указанного файла или каталога в виде транзакции. |
GetFileAttributesEx | Извлекает атрибуты файловой системы для указанного файла или каталога в виде транзакции. |
GetHandle | Возвращает дескриптор транзакции. |
IsFallback | Определяет, включены ли резервные вызовы. |
MoveFile | Перемещает существующий файл или каталог, включая его дочерние элементы, в виде транзакций. |
RegCreateKeyEx | Создает указанный раздел реестра и связывает его с транзакцией. Если ключ уже существует, функция открывает ее. |
RegDeleteKey | Удаляет вложенный ключ и его значения из указанного представления для конкретной платформы реестра в виде транзакций. |
RegOpenKeyEx | Открывает указанный раздел реестра и связывает его с транзакцией. |
Откат | Запрашивает откат транзакции. |
SetFileAttributes | Задает атрибуты для файла или каталога в виде транзакции. |
Защищенные члены данных
Имя | Описание |
---|---|
m_bFallback | ЗНАЧЕНИЕ TRUE, если резервная обратная связь поддерживается; Значение FALSE в противном случае. |
m_hTransaction | Дескриптор транзакции. |
Замечания
Иерархия наследования
Требования
Заголовок: atltransactionmanager.h
~CAtlTransactionManager
Деструктор CAtlTransactionManager.
virtual ~CAtlTransactionManager();
Замечания
При обычной обработке транзакция автоматически фиксируется и закрывается. Если деструктор вызывается во время отмены исключения, транзакция откативается и закрывается.
CAtlTransactionManager
Конструктор CAtlTransactionManager.
CAtlTransactionManager(BOOL bFallback = TRUE, BOOL bAutoCreateTransaction = TRUE);
Параметры
bFallback
ЗНАЧЕНИЕ TRUE указывает на резервную поддержку. Если транзакционная функция завершается ошибкой, класс автоматически вызывает функцию , не относясь к транзакциям. FALSE указывает, что не вызывается обратный вызов.
bAutoCreateTransaction
TRUE указывает, что обработчик транзакций создается автоматически в конструкторе. FALSE указывает, что это не так.
Замечания
Закрытие
Закрывает дескриптор транзакции.
inline BOOL Close();
Возвращаемое значение
Значение TRUE, если успешно; в противном случае — FALSE.
Замечания
Эта оболочка вызывает функцию CloseHandle
. Метод автоматически вызывается в деструкторе.
Commit
Запрашивает фиксацию транзакции.
inline BOOL Commit();
Возвращаемое значение
Значение TRUE, если успешно; в противном случае — FALSE.
Замечания
Эта оболочка вызывает функцию CommitTransaction
. Метод автоматически вызывается в деструкторе.
Создание
Создает дескриптор транзакции.
inline BOOL Create();
Возвращаемое значение
Значение TRUE, если успешно; в противном случае — FALSE.
Замечания
Эта оболочка вызывает функцию CreateTransaction
. Проверьте его
CreateFile
Создает или открывает файл, поток файлов или каталог как транзакцию.
inline HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
Параметры
lpFileName
Имя объекта, который нужно создать или открыть.
dwDesiredAccess
Доступ к объекту, который можно суммировать как чтение, запись, оба или ни один (ноль). Наиболее часто используются GENERIC_READ
значения , GENERIC_WRITE
или оба: GENERIC_READ | GENERIC_WRITE
dwShareMode
Режим общего доступа объекта, который может быть считываем, записывать и удалять, удалять все из них или нет: 0, FILE_SHARE_DELETE, FILE_SHARE_READ, FILE_SHARE_WRITE.
lpSecurityAttributes
Указатель на структуру SECURITY_ATTRIBUTES, содержащую необязательный дескриптор безопасности, а также определяет, может ли возвращаемый дескриптор наследоваться дочерними процессами. Параметр может иметь значение NULL.
dwCreationDisposition
Действие, которое необходимо предпринять для файлов, которые существуют и не существуют. Этот параметр должен быть одним из следующих значений, которые нельзя объединить: CREATE_ALWAYS, CREATE_NEW, OPEN_ALWAYS, OPEN_EXISTING или TRUNCATE_EXISTING.
dwFlagsAndAttributes
Атрибуты и флаги файла. Этот параметр может включать любое сочетание доступных атрибутов файла (FILE_ATTRIBUTE_*). Все остальные атрибуты файла переопределяют FILE_ATTRIBUTE_NORMAL. Этот параметр также может содержать сочетания флагов (FILE_FLAG_*) для управления поведением буферизации, режимами доступа и другими флагами специального назначения. Они объединяются с любыми значениями FILE_ATTRIBUTE_*.
hTemplateFile
Допустимый дескриптор файла шаблона с правом доступа GENERIC_READ. Файл шаблона предоставляет атрибуты файла и расширенные атрибуты для создаваемого файла. Этот параметр может принимать значение NULL.
Возвращаемое значение
Возвращает дескриптор, который можно использовать для доступа к объекту.
Замечания
Эта оболочка вызывает функцию CreateFileTransacted
.
DeleteFile
Удаляет существующий файл как транзакцию.
inline BOOL DeleteFile(LPCTSTR lpFileName);
Параметры
lpFileName
Имя файла, предназначенного для удаления.
Замечания
Эта оболочка вызывает функцию DeleteFileTransacted
.
FindFirstFile
Выполняет поиск каталога для файла или подкаталога как транзакционная операция.
inline HANDLE FindFirstFile(
LPCTSTR lpFileName,
WIN32_FIND_DATA* pNextInfo);
Параметры
lpFileName
Каталог или путь и имя файла для поиска. Этот параметр может включать подстановочные знаки, такие как звездочка (*) или вопросительный знак ().
pNextInfo
Указатель на структуру WIN32_FIND_DATA, которая получает сведения о найденном файле или подкаталоге.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение — это дескриптор поиска, используемый в последующем вызове FindNextFile
или FindClose
. Если функция завершается ошибкой или не удается найти файлы из строки поиска в параметре lpFileName , возвращаемое значение INVALID_HANDLE_VALUE.
Замечания
Эта оболочка вызывает функцию FindFirstFileTransacted
.
GetFileAttributes
Извлекает атрибуты файловой системы для указанного файла или каталога в виде транзакции.
inline DWORD GetFileAttributes(LPCTSTR lpFileName);
Параметры
lpFileName
Имя файла или каталога.
Замечания
Эта оболочка вызывает функцию GetFileAttributesTransacted
.
GetFileAttributesEx
Извлекает атрибуты файловой системы для указанного файла или каталога в виде транзакции.
inline BOOL GetFileAttributesEx(
LPCTSTR lpFileName,
GET_FILEEX_INFO_LEVELS fInfoLevelId,
LPVOID lpFileInformation);
Параметры
lpFileName
Имя файла или каталога.
fInfoLevelId
Уровень получаемых сведений о атрибутах.
lpFileInformation
Указатель на буфер, который получает сведения о атрибуте. Тип сведений о атрибутах, хранящихся в этом буфере, определяется значением fInfoLevelId. Если параметр fInfoLevelId имеет значение GetFileExInfoStandard, этот параметр указывает на структуру WIN32_FILE_ATTRIBUTE_DATA.
Замечания
Эта оболочка вызывает функцию GetFileAttributesTransacted
.
GetHandle
Возвращает дескриптор транзакции.
HANDLE GetHandle() const;
Возвращаемое значение
Возвращает дескриптор транзакции для класса. Возвращает значение NULL, если он CAtlTransactionManager
не подключен к дескриптору.
Замечания
IsFallback
Определяет, включены ли резервные вызовы.
BOOL IsFallback() const;
Возвращаемое значение
Возвращает значение TRUE — это класс, поддерживающий резервные вызовы. Значение FALSE в противном случае.
Замечания
m_bFallback
ЗНАЧЕНИЕ TRUE, если резервная обратная связь поддерживается; Значение FALSE в противном случае.
BOOL m_bFallback;
Замечания
m_hTransaction
Дескриптор транзакции.
HANDLE m_hTransaction;
Замечания
MoveFile
Перемещает существующий файл или каталог, включая его дочерние элементы, в виде транзакций.
inline BOOL MoveFile(LPCTSTR lpOldFileName, LPCTSTR lpNewFileName);
Параметры
lpOldFileName
Текущее имя существующего файла или каталога на локальном компьютере.
lpNewFileName
Новое имя файла или каталога. Это имя не должно существовать. Новый файл может находиться в другой файловой системе или диске. Новый каталог должен находиться на одном диске.
Замечания
Эта оболочка вызывает функцию MoveFileTransacted
.
RegCreateKeyEx
Создает указанный раздел реестра и связывает его с транзакцией. Если ключ уже существует, функция открывает ее.
inline LSTATUS RegCreateKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD dwReserved,
LPTSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition);
Параметры
hKey
Дескриптор открытого раздела реестра.
lpSubKey
Имя подраздела, который открывается или создает эта функция.
dwReserved
Этот параметр зарезервирован и должен быть нулевым.
lpClass
Определяемый пользователем класс этого ключа. Этот параметр может быть проигнорирован. Этот параметр может принимать значение NULL.
dwOptions
Этот параметр может быть одним из следующих значений: REG_OPTION_BACKUP_RESTORE, REG_OPTION_NON_VOLATILE или REG_OPTION_VOLATILE.
samDesired
Маска, указывающая права доступа для ключа.
lpSecurityAttributes
Указатель на структуру SECURITY_ATTRIBUTES определяет, может ли возвращаемый дескриптор быть унаследован дочерними процессами. Если значение lpSecurityAttributes равно NULL, дескриптор не может быть унаследован.
phkResult
Указатель на переменную, которая получает дескриптор открытого или созданного ключа. Если ключ не является одним из предопределенных разделов реестра, вызовите RegCloseKey
функцию после завершения работы с дескриптором.
lpdwDisposition
Указатель на переменную, которая получает одно из следующих значений ликвидации: REG_CREATED_NEW_KEY или REG_OPENED_EXISTING_KEY.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS. Если функция завершается ошибкой, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h.
Замечания
Эта оболочка вызывает функцию RegCreateKeyTransacted
.
RegDeleteKey
Удаляет вложенный ключ и его значения из указанного представления для конкретной платформы реестра в виде транзакций.
inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);
Параметры
hKey
Дескриптор открытого раздела реестра.
lpSubKey
Имя ключа, который необходимо удалить.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS. Если функция завершается ошибкой, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h.
Замечания
Эта оболочка вызывает функцию RegDeleteKeyTransacted
.
RegOpenKeyEx
Открывает указанный раздел реестра и связывает его с транзакцией.
inline LSTATUS RegOpenKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired,
PHKEY phkResult);
Параметры
hKey
Дескриптор открытого раздела реестра.
lpSubKey
Имя открываемого подраздела реестра.
ulOptions
Этот параметр зарезервирован и должен быть нулевым.
samDesired
Маска, указывающая права доступа для ключа.
phkResult
Указатель на переменную, которая получает дескриптор открытого или созданного ключа. Если ключ не является одним из предопределенных разделов реестра, вызовите RegCloseKey
функцию после завершения работы с дескриптором.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ERROR_SUCCESS. Если функция завершается ошибкой, возвращаемое значение является ненулевой ошибкой, определенной в Winerror.h
Замечания
Эта оболочка вызывает функцию RegOpenKeyTransacted
.
Откат
Запрашивает откат транзакции.
inline BOOL Rollback();
Возвращаемое значение
Значение TRUE, если успешно; в противном случае — FALSE.
Замечания
Эта оболочка вызывает функцию RollbackTransaction
.
SetFileAttributes
Задает атрибуты для файла или каталога в виде транзакции.
inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);
Параметры
lpFileName
Имя файла или каталога.
dwAttributes
Атрибуты файла, заданные для файла. Дополнительные сведения см. в разделе SetFileAttributesTransacted.
Замечания
Эта оболочка вызывает функцию SetFileAttributesTransacted
.