Função CreateTransaction (ktmw32.h)
Cria um novo objeto de transação.
Sintaxe
HANDLE CreateTransaction(
[in, optional] LPSECURITY_ATTRIBUTES lpTransactionAttributes,
[in, optional] LPGUID UOW,
[in, optional] DWORD CreateOptions,
[in, optional] DWORD IsolationLevel,
[in, optional] DWORD IsolationFlags,
[in, optional] DWORD Timeout,
[in, optional] LPWSTR Description
);
Parâmetros
[in, optional] lpTransactionAttributes
Um ponteiro para uma estrutura de SECURITY_ATTRIBUTES que determina se o identificador retornado pode ser herdado por processos filho. Se esse parâmetro for NULL, o identificador não poderá ser herdado.
O
[in, optional] UOW
Reservado. Deve ser zero (0).
[in, optional] CreateOptions
Quaisquer instruções de transação opcionais.
Valor | Significado |
---|---|
|
A transação não pode ser distribuída. |
[in, optional] IsolationLevel
Reservado; especificar zero (0).
[in, optional] IsolationFlags
Reservado; especificar zero (0).
[in, optional] Timeout
O intervalo de tempo limite, em milissegundos. Se um valor diferente de zero for especificado, a transação será anulada quando o intervalo ocorrer se ainda não tiver atingido o estado preparado.
Especifique zero (0) ou INFINITE para fornecer um tempo limite infinito.
[in, optional] Description
Uma descrição legível pelo usuário da transação.
Valor de retorno
Se a função for bem-sucedida, o valor retornado será um identificador para a transação.
Se a função falhar, o valor retornado será INVALID_HANDLE_VALUE. Para obter informações de erro estendidas, chame a função
A lista a seguir identifica os possíveis códigos de erro:
Observações
Use a função CloseHandle para fechar o identificador de transação. Se o último identificador de transação for fechado antes que um cliente chame a função CommitTransaction com o identificador de transação, a KTM reverterá a transação.
Se a transação precisar ser promovível para uma transação distribuída, você deverá conceder os direitos de acesso do Coordenador de Transações Distribuídas (DTC) para se inscrever na transação. Para fazer isso, o parâmetro lpTransactionAttributes precisa conter uma entrada de controle de acesso com o SID do DTC (S-1-5-80-2818357584-3387065753-4000393942-342927828-138088443) e o TRANSACTION_ENLIST à direita. Para obter mais informações, consulte coordenador de transações distribuídas e componentes de controle de acesso .
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
servidor com suporte mínimo | Windows Server 2008 |
da Plataforma de Destino |
Windows |
cabeçalho | ktmw32.h |
biblioteca | KtmW32.lib |
de DLL |
KtmW32.dll |
Consulte também
coordenador de transações distribuídas
Funções do Gerenciador de Transações do Kernel
RollbackTransaction