Classe CAtlTransactionManager

A classe CAtlTransactionManager fornece um wrapper para funções KTM (Kernel Transaction Manager).

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

class CAtlTransactionManager;

Membros

Construtores públicos

Nome Descrição
~CAtlTransactionManager Destruidor CAtlTransactionManager.
CAtlTransactionManager Construtor CAtlTransactionManager.

Métodos públicos

Nome Descrição
Fechar Fecha um identificador de transação.
Confirmar Solicita que a transação seja confirmada.
Criar Cria o identificador de transação.
CreateFile Cria ou abre um arquivo, fluxo de arquivos ou diretório como uma operação transacionada.
DeleteFile Exclui um arquivo existente como uma operação transacionada.
FindFirstFile Pesquisa um diretório em busca de um arquivo ou subdiretório como uma operação transacionada.
GetFileAttributes Recupera atributos do sistema de arquivos para um arquivo ou diretório especificado como uma operação transacionada.
GetFileAttributesEx Recupera atributos do sistema de arquivos para um arquivo ou diretório especificado como uma operação transacionada.
GetHandle Retorna o identificador da transação.
IsFallback Determina se as chamadas de fallback estão habilitadas.
MoveFile Move um arquivo ou um diretório existente, incluindo os filhos dele, como uma operação transacionada.
RegCreateKeyEx Cria a chave do Registro especificada e a associa a uma transação. Se a chave já existir, a função a abrirá.
RegDeleteKey Exclui uma subchave e os respectivos valores da exibição específica da plataforma especificada do Registro como uma operação transacionada.
RegOpenKeyEx Abre a chave do Registro especificada e a associa a uma transação.
Reversão Solicita que a transação seja revertida.
SetFileAttributes Define os atributos de um arquivo ou diretório como uma operação transacionada.

Membros de Dados Protegidos

Nome Descrição
m_bFallback TRUE se houver suporte para fallback; caso contrário, FALSE.
m_hTransaction O identificador da transação.

Comentários

Hierarquia de herança

ATL::CAtlTransactionManager

Requisitos

Cabeçalho: atltransactionmanager.h

~CAtlTransactionManager

Destruidor CAtlTransactionManager.

virtual ~CAtlTransactionManager();

Comentários

No processamento normal, a transação é confirmada e fechada automaticamente. Se o destruidor for chamado durante um desenrolamento de exceção, a transação será revertida e fechada.

CAtlTransactionManager

Construtor CAtlTransactionManager.

CAtlTransactionManager(BOOL bFallback = TRUE, BOOL bAutoCreateTransaction = TRUE);

Parâmetros

bFallback
TRUE indica suporte a fallback. Se a função transacionada falhar, a classe chamará automaticamente a função "não transacionada". FALSE indica que não há chamadas de "fallback".

bAutoCreateTransaction
TRUE indica que o manipulador de transações é criado automaticamente no construtor. FALSE indica que não é.

Comentários

Fechar

Fecha o identificador de transação.

inline BOOL Close();

Valor de Devolução

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

Esse wrapper chama a função CloseHandle. O método é chamado automaticamente no destruidor.

Confirmar

Solicita que a transação seja confirmada.

inline BOOL Commit();

Valor de Devolução

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

Esse wrapper chama a função CommitTransaction. O método é chamado automaticamente no destruidor.

Criar

Cria o identificador de transação.

inline BOOL Create();

Valor de Devolução

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

Esse wrapper chama a função CreateTransaction. Verifique se há

CreateFile

Cria ou abre um arquivo, fluxo de arquivos ou diretório como uma operação transacionada.

inline HANDLE CreateFile(
    LPCTSTR lpFileName,
    DWORD dwDesiredAccess,
    DWORD dwShareMode,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDisposition,
    DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile);

Parâmetros

lpFileName
O nome de um objeto a ser criado ou aberto.

dwDesiredAccess
O acesso ao objeto, que pode ser resumido como leitura, gravação, ambos ou nenhum (zero). Os valores mais usados são GENERIC_READ, GENERIC_WRITE ou ambos: GENERIC_READ | GENERIC_WRITE.

dwShareMode
O modo de compartilhamento de um objeto, que pode ser leitura, gravação, ambos, exclusão, todos eles ou nenhum: 0, FILE_SHARE_DELETE, FILE_SHARE_READ, FILE_SHARE_WRITE.

lpSecurityAttributes
Um ponteiro para uma estrutura SECURITY_ATTRIBUTES que contém um descritor de segurança opcional e também determina se o identificador retornado pode ou não ser herdado por processos filho. O parâmetro pode ser NULL.

dwCreationDisposition
Uma ação a ser tomada em arquivos que existem e não existem. Esse parâmetro precisa ser um dos seguintes valores, que não podem ser combinados: CREATE_ALWAYS, CREATE_NEW, OPEN_ALWAYS, OPEN_EXISTING ou TRUNCATE_EXISTING.

dwFlagsAndAttributes
Os atributos e sinalizadores do arquivo. Esse parâmetro pode incluir qualquer combinação dos atributos de arquivo disponíveis (FILE_ATTRIBUTE_*). Todos os outros atributos de arquivo substituem FILE_ATTRIBUTE_NORMAL. Esse parâmetro também pode conter combinações de sinalizadores (FILE_FLAG_*) para controle de comportamento de buffer, modos de acesso e outros sinalizadores de uso especial. Eles se combinam com quaisquer valores FILE_ATTRIBUTE_*.

hTemplateFile
Um identificador válido para um arquivo de modelo com o direito de acesso GENERIC_READ. O arquivo de modelo fornece atributos de arquivo e atributos estendidos para o arquivo que está sendo criado. Este parâmetro pode ser NULL.

Valor de Devolução

Retorna um identificador que pode ser usado para acessar o objeto.

Comentários

Esse wrapper chama a função CreateFileTransacted.

DeleteFile

Exclui um arquivo existente como uma operação transacionada.

inline BOOL DeleteFile(LPCTSTR lpFileName);

Parâmetros

lpFileName
O nome do arquivo a ser excluído.

Comentários

Esse wrapper chama a função DeleteFileTransacted.

FindFirstFile

Pesquisa um diretório em busca de um arquivo ou subdiretório como uma operação transacionada.

inline HANDLE FindFirstFile(
    LPCTSTR lpFileName,
    WIN32_FIND_DATA* pNextInfo);

Parâmetros

lpFileName
O diretório ou caminho e o nome do arquivo a ser pesquisado. Esse parâmetro pode incluir caracteres curinga, como um asterisco (*) ou um ponto de interrogação (?).

pNextInfo
Um ponteiro para a estrutura WIN32_FIND_DATA que recebe informações sobre um arquivo encontrado ou subdiretório.

Valor de Devolução

Se a função for bem-sucedida, o valor retornado será um identificador de pesquisa usado em uma chamada subsequente para FindNextFile ou FindClose. Se a função falhar ou não localizar arquivos da cadeia de caracteres de pesquisa no parâmetro lpFileName, o valor retornado será INVALID_HANDLE_VALUE.

Comentários

Esse wrapper chama a função FindFirstFileTransacted.

GetFileAttributes

Recupera atributos do sistema de arquivos para um arquivo ou diretório especificado como uma operação transacionada.

inline DWORD GetFileAttributes(LPCTSTR lpFileName);

Parâmetros

lpFileName
O nome do diretório ou arquivo.

Comentários

Esse wrapper chama a função GetFileAttributesTransacted.

GetFileAttributesEx

Recupera atributos do sistema de arquivos para um arquivo ou diretório especificado como uma operação transacionada.

inline BOOL GetFileAttributesEx(
    LPCTSTR lpFileName,
    GET_FILEEX_INFO_LEVELS fInfoLevelId,
    LPVOID lpFileInformation);

Parâmetros

lpFileName
O nome do diretório ou arquivo.

fInfoLevelId
O nível de informações de atributo a serem recuperadas.

lpFileInformation
Um ponteiro para um buffer que recebe as informações de atributo. O tipo de informação de atributo armazenado nesse buffer é determinado pelo valor de fInfoLevelId. Se o parâmetro fInfoLevelId for GetFileExInfoStandard, esse parâmetro apontará para uma estrutura WIN32_FILE_ATTRIBUTE_DATA.

Comentários

Esse wrapper chama a função GetFileAttributesTransacted.

GetHandle

Retorna o identificador da transação.

HANDLE GetHandle() const;

Valor de Devolução

Retorna o identificador de transação de uma classe. Retornará NULL se não CAtlTransactionManager estiver anexado a um identificador.

Comentários

IsFallback

Determina se as chamadas de fallback estão habilitadas.

BOOL IsFallback() const;

Valor de Devolução

Retornará TRUE se a classe der suporte a chamadas de fallback. Caso contrário, FALSE.

Comentários

m_bFallback

TRUE se houver suporte para fallback; caso contrário, FALSE.

BOOL m_bFallback;

Comentários

m_hTransaction

O identificador da transação.

HANDLE m_hTransaction;

Comentários

MoveFile

Move um arquivo ou um diretório existente, incluindo os filhos dele, como uma operação transacionada.

inline BOOL MoveFile(LPCTSTR lpOldFileName, LPCTSTR lpNewFileName);

Parâmetros

lpOldFileName
O nome atual do arquivo ou diretório existente no computador local.

lpNewFileName
O novo nome para o arquivo ou diretório. Esse nome ainda não pode existir. Um novo arquivo pode estar em um sistema de arquivos ou unidade diferente. Um novo diretório precisa estar na mesma unidade.

Comentários

Esse wrapper chama a função MoveFileTransacted.

RegCreateKeyEx

Cria a chave do Registro especificada e a associa a uma transação. Se a chave já existir, a função a abrirá.

inline LSTATUS RegCreateKeyEx(
    HKEY hKey,
    LPCTSTR lpSubKey,
    DWORD dwReserved,
    LPTSTR lpClass,
    DWORD dwOptions,
    REGSAM samDesired,
    CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    PHKEY phkResult,
    LPDWORD lpdwDisposition);

Parâmetros

hKey
Um identificador para uma chave aberta do Registro.

lpSubKey
O nome de uma subchave que essa função abre ou cria.

dwReserved
Esse parâmetro é reservado e precisa ser zero.

lpClass
A classe definida pelo usuário dessa chave. Esse parâmetro pode ser ignorado. Este parâmetro pode ser NULL.

dwOptions
Esse parâmetro pode ser um dos seguintes valores: REG_OPTION_BACKUP_RESTORE, REG_OPTION_NON_VOLATILE ou REG_OPTION_VOLATILE.

samDesired
Uma máscara que especifica os direitos de acesso da chave.

lpSecurityAttributes
Ponteiro para uma estrutura SECURITY_ATTRIBUTES que determina se o identificador retornado pode ser herdado por processos filhos. Se lpSecurityAttributes for NULL, o indicador não poderá ser herdado.

phkResult
Um ponteiro para uma variável que recebe um identificador para a chave aberta ou criada. Se a chave não for uma das chaves predefinidas do Registro, chame a função RegCloseKey depois de terminar de usar o identificador.

lpdwDisposition
Um ponteiro para uma variável que recebe um dos seguintes valores de disposição: REG_CREATED_NEW_KEY ou REG_OPENED_EXISTING_KEY.

Valor de Devolução

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS. Se a função falhar, o valor retornado será o código de erro diferente de zero definido em Winerror.h.

Comentários

Esse wrapper chama a função RegCreateKeyTransacted.

RegDeleteKey

Exclui uma subchave e os respectivos valores da exibição específica da plataforma especificada do Registro como uma operação transacionada.

inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);

Parâmetros

hKey
Um identificador para uma chave aberta do Registro.

lpSubKey
O nome da chave a ser excluída.

Valor de Devolução

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS. Se a função falhar, o valor retornado será o código de erro diferente de zero definido em Winerror.h.

Comentários

Esse wrapper chama a função RegDeleteKeyTransacted.

RegOpenKeyEx

Abre a chave do Registro especificada e a associa a uma transação.

inline LSTATUS RegOpenKeyEx(
    HKEY hKey,
    LPCTSTR lpSubKey,
    DWORD ulOptions,
    REGSAM samDesired,
    PHKEY phkResult);

Parâmetros

hKey
Um identificador para uma chave aberta do Registro.

lpSubKey
O nome da subchave do Registro a ser aberta.

ulOptions
Esse parâmetro é reservado e precisa ser zero.

samDesired
Uma máscara que especifica os direitos de acesso da chave.

phkResult
Um ponteiro para uma variável que recebe um identificador para a chave aberta ou criada. Se a chave não for uma das chaves predefinidas do Registro, chame a função RegCloseKey depois de terminar de usar o identificador.

Valor de Devolução

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS. Se a função falhar, o valor retornado será o código de erro diferente de zero definido em Winerror.h

Comentários

Esse wrapper chama a função RegOpenKeyTransacted.

Reversão

Solicita que a transação seja revertida.

inline BOOL Rollback();

Valor de Devolução

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

Esse wrapper chama a função RollbackTransaction.

SetFileAttributes

Define os atributos de um arquivo ou diretório como uma operação transacionada.

inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);

Parâmetros

lpFileName
O nome do diretório ou arquivo.

dwAttributes
Os atributos a serem definidos para o arquivo. Para obter mais informações, confira SetFileAttributesTransacted.

Comentários

Esse wrapper chama a função SetFileAttributesTransacted.

Confira também

Componentes de área de trabalho COM da ATL