Método ITransactionContextEx::Abort (comsvcs.h)
Anula o trabalho de todos os objetos COM que participam da transação atual. A transação termina no retorno desse método.
Sintaxe
HRESULT Abort();
Retornar valor
Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, bem como os valores a seguir.
Código de retorno | Descrição |
---|---|
|
A transação foi anulada. |
|
O objeto TransactionContextEx não está em execução em um processo COM+, possivelmente indicando uma entrada de registro corrompida para o componente TransactionContextEx . |
Comentários
Chamar Anular encerra a transação no retorno do método e desativa automaticamente todos os objetos participantes. Cada gerenciador de recursos inscrito na transação reverte as operações executadas em nome desses objetos.
Exemplos
ITransactionContextEx* pTransactionContext = NULL;
IMyObject* pMyObject = NULL;
boolean bUserCanceled = FALSE;
HRESULT hr;
// Get TransactionContextEx.
hr = CoCreateInstance(CLSID_ITransactionContextEx,
NULL, CLSCTX_INPROC, IID_ITransactionContextEx,
(void**)&pTransactionContext);
if (FAILED(hr)) throw(hr);
// Create an instance of MyObject.
hr = pTransactionContext->CreateInstance(CLSID_CMyObject,
IID_IMyObject, (void**)&pMyObject);
if (FAILED(hr)) throw(hr);
// Do some work here.
// If something goes wrong, abort the transaction.
if (bUserCanceled) {
hr = pTransactionContext->Abort();
if (FAILED(hr)) throw(hr);
// Otherwise, commit it.
} else {
hr = pTransactionContext->Commit();
if (FAILED(hr)) throw(hr);
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | comsvcs.h |