Partilhar via


Classe CAtlTransactionManager

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

A classe CAtlTransactionManager fornece um wrapper para as funções do Gestor de Transações do Kernel (KTM).

Importante

Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.

Sintaxe

class CAtlTransactionManager;

Membros

Construtores Públicos

Nome Description
~CAtlTransactionManager CAtlTransactionManager destruidor.
CAtlTransactionManager Construtor CAtlTransactionManager.

Métodos Públicos

Nome Description
Fechar Fecha um dos handles da transação.
Commit Solicita que a transação seja confirmada.
Create Cria o handle da transação.
CreateFile Cria ou abre um ficheiro, fluxo de ficheiros ou diretório como uma operação transacionada.
DeleteFile Apaga um ficheiro existente como operação transacionada.
FindFirstFile Pesquisa num diretório por um ficheiro ou subdiretório como uma operação transacionada.
GetFileAttributes Recupera atributos do sistema de ficheiros para um ficheiro ou diretório especificado como uma operação transacionada.
GetFileAttributesEx Recupera atributos do sistema de ficheiros para um ficheiro ou diretório especificado como uma operação transacionada.
GetHandle Devolve o handle da transação.
IsFallback Determina se as chamadas de retenção estão ativadas.
MoveFile Move um ficheiro ou diretório existente, incluindo os seus filhos, como uma operação transacionada.
RegCreateKeyEx Cria a chave de registo especificada e associa-a a uma transação. Se a chave já existir, a função abre-a.
RegDeleteKey Elimina uma subchave e os seus valores da vista específica da plataforma do registo como uma operação transacionada.
RegOpenKeyEx Abre a chave de registo especificada e associa-a a uma transação.
Reversão Solicita que a transação seja revertida.
SetFileAttributes Define os atributos de um ficheiro ou diretório como uma operação transacionada.

Membros de Dados Protegidos

Nome Description
m_bFallback VERDADEIRO se o plano de recurso for suportado; FALSO, caso contrário.
m_hTransaction O handle da transação.

Observações

Hierarquia de herança

ATL::CAtlTransactionManager

Requerimentos

Cabeçalho: atltransactionmanager.h

~CAtlTransactionManager

CAtlTransactionManager destruidor.

virtual ~CAtlTransactionManager();

Observações

No processamento normal, a transação é automaticamente comprometida e encerrada. Se o destruidor for chamado durante um desmantelamento de exceções, a transação é revertida e encerrada.

CAtlTransactionManager

Construtor CAtlTransactionManager.

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

Parâmetros

bRepli
TRUE indica um recuo de apoio. Se a função transacionada falhar, a classe chama automaticamente a função "não transacionada". FALSE indica que não há chamadas de "recurso".

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

Observações

Close

Fecha o handle da transação.

inline BOOL Close();

Valor de retorno

VERDADEIRO se for bem-sucedido; caso contrário, FALSO.

Observações

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

Compromisso

Solicita que a transação seja confirmada.

inline BOOL Commit();

Valor de retorno

VERDADEIRO se for bem-sucedido; caso contrário, FALSO.

Observações

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

Criar

Cria o handle da transação.

inline BOOL Create();

Valor de retorno

VERDADEIRO se for bem-sucedido; caso contrário, FALSO.

Observações

Este wrapper chama a CreateTransaction função. Verifica para

CriarFicheiro

Cria ou abre um ficheiro, fluxo de ficheiros 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 ler, escrever, ambos ou nenhum (zero). Os valores mais usados são GENERIC_READ, GENERIC_WRITE, ou ambos: GENERIC_READ | GENERIC_WRITE.

dwShareMode
O modo de partilha de um objeto, que pode ser lido, escrito, ambos, eliminado, todos estes 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 que também determina se o handle devolvido pode ou não ser herdado por processos filhos. O parâmetro pode ser NULL.

dwCriaçãoDisposição
Uma ação a tomar em ficheiros que existem e não existem. Este parâmetro deve 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 flags do ficheiro. Este parâmetro pode incluir qualquer combinação dos atributos disponíveis do ficheiro (FILE_ATTRIBUTE_*). Todos os outros atributos do ficheiro sobrepõem-se FILE_ATTRIBUTE_NORMAL. Este parâmetro pode também conter combinações de flags (FILE_FLAG_*) para controlo do comportamento de buffering, modos de acesso e outros flags de propósito especial. Estas combinam-se com quaisquer valores FILE_ATTRIBUTE_*.

hTemplateFile
Um handle válido para um ficheiro modelo com o direito de acesso GENERIC_READ. O ficheiro modelo fornece os atributos do ficheiro e os atributos estendidos para o ficheiro que está a ser criado. Este parâmetro pode ser NULL.

Valor de retorno

Devolve um handle que pode ser usado para aceder ao objeto.

Observações

Este wrapper chama a CreateFileTransacted função.

DeleteFile

Apaga um ficheiro existente como operação transacionada.

inline BOOL DeleteFile(LPCTSTR lpFileName);

Parâmetros

lpFileName
O nome do ficheiro a ser eliminado.

Observações

Este wrapper chama a DeleteFileTransacted função.

FindFirstFile

Pesquisa num diretório por um ficheiro 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 ficheiro a procurar. Este 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ção sobre um ficheiro ou subdiretório encontrado.

Valor de retorno

Se a função tiver sucesso, o valor de retorno é um handle de pesquisa usado numa chamada subsequente para FindNextFile ou FindClose. Se a função falhar ou falhar em localizar ficheiros da cadeia de pesquisa no parâmetro lpFileName , o valor de retorno é INVALID_HANDLE_VALUE.

Observações

Este wrapper chama a FindFirstFileTransacted função.

GetFileAttributes

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

inline DWORD GetFileAttributes(LPCTSTR lpFileName);

Parâmetros

lpFileName
O nome do ficheiro ou diretório.

Observações

Este wrapper chama a GetFileAttributesTransacted função.

GetFileAttributesEx

Recupera atributos do sistema de ficheiros para um ficheiro 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 ficheiro ou diretório.

fInfoLevelId
O nível de informação sobre atributos a recuperar.

lpFileInformation
Um apontador para um buffer que recebe a informação do atributo. O tipo de informação de atributos armazenada neste buffer é determinado pelo valor do fInfoLevelId. Se o parâmetro fInfoLevelId for GetFileExInfoStandard, então este parâmetro aponta para uma estrutura WIN32_FILE_ATTRIBUTE_DATA.

Observações

Este wrapper chama a GetFileAttributesTransacted função.

GetHandle

Devolve o handle da transação.

HANDLE GetHandle() const;

Valor de retorno

Devolve o handle de transação para uma classe. Devolve NULL se o CAtlTransactionManager não estiver ligado a uma alça.

Observações

IsFallback

Determina se as chamadas de retenção estão ativadas.

BOOL IsFallback() const;

Valor de retorno

Retornos VERDADEIROS é que a classe suporta chamadas de recurso. FALSO caso contrário.

Observações

m_bFallback

VERDADEIRO se o plano de recurso for suportado; FALSO, caso contrário.

BOOL m_bFallback;

Observações

m_hTransaction

O handle da transação.

HANDLE m_hTransaction;

Observações

MoveFile

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

inline BOOL MoveFile(LPCTSTR lpOldFileName, LPCTSTR lpNewFileName);

Parâmetros

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

lpNewFileName
O novo nome para o ficheiro ou diretório. Este nome já não deve existir. Um ficheiro novo pode estar num sistema de ficheiros ou disco diferente. Um novo diretório tem de estar no mesmo disco.

Observações

Este wrapper chama a MoveFileTransacted função.

RegCreateKeyEx

Cria a chave de registo especificada e associa-a a uma transação. Se a chave já existir, a função abre-a.

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 handle para uma chave de registo aberta.

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

dwReservado
Este parâmetro está reservado e deve ser zero.

lpClass
A classe definida pelo utilizador desta chave. Este parâmetro pode ser ignorado. Este parâmetro pode ser NULL.

dwOptions
Este 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
Apontador para uma estrutura SECURITY_ATTRIBUTES que determina se o handle devolvido pode ser herdado por processos filhos. Se lpSecurityAttributes for NULL, o handle não pode ser herdado.

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

Disposição lpdw
Um apontador 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 for bem-sucedida, o valor de retorno será ERROR_SUCCESS. Se a função falhar, o valor de retorno é um código de erro diferente de zero definido em Winerror.h.

Observações

Este wrapper chama a RegCreateKeyTransacted função.

RegDeleteKey

Elimina uma subchave e os seus valores da vista específica da plataforma do registo como uma operação transacionada.

inline LSTATUS RegDeleteKeyEx(HKEY hKey, LPCTSTR lpSubKey);

Parâmetros

hKey
Um handle para uma chave de registo aberta.

lpSubKey
O nome da chave a apagar.

Valor de retorno

Se a função for bem-sucedida, o valor de retorno será ERROR_SUCCESS. Se a função falhar, o valor de retorno é um código de erro diferente de zero definido em Winerror.h.

Observações

Este wrapper chama a RegDeleteKeyTransacted função.

RegOpenKeyEx

Abre a chave de registo especificada e associa-a a uma transação.

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

Parâmetros

hKey
Um handle para uma chave de registo aberta.

lpSubKey
O nome da subchave do registo a ser aberta.

ulOptions
Este parâmetro está reservado e deve ser zero.

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

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

Valor de retorno

Se a função for bem-sucedida, o valor de retorno será ERROR_SUCCESS. Se a função falhar, o valor de retorno é um código de erro não nulo definido em Winerror.h

Observações

Este wrapper chama a RegOpenKeyTransacted função.

Reversão

Solicita que a transação seja revertida.

inline BOOL Rollback();

Valor de retorno

VERDADEIRO se for bem-sucedido; caso contrário, FALSO.

Observações

Este wrapper chama a RollbackTransaction função.

SetFileAttributes

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

inline BOOL SetFileAttributes(LPCTSTR lpFileName, DWORD dwAttributes);

Parâmetros

lpFileName
O nome do ficheiro ou diretório.

dwAttributes
Os atributos do ficheiro para definir para o ficheiro. Para mais informações, veja SetFileAttributesTransacted.

Observações

Este wrapper chama a SetFileAttributesTransacted função.

Consulte também

Componentes de Ambiente de Trabalho ATL COM