Поделиться через


Класс 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 Дескриптор транзакции.

Замечания

Иерархия наследования

ATL::CAtlTransactionManager

Требования

Заголовок: 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 .

См. также

Компоненты ATL COM Desktop