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
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 retorno
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 retorno
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 retorno
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 NULO.
Valor de retorno
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 retorno
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 retorno
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 retorno
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 NULO.
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 retorno
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 retorno
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 retorno
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 retorno
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
.