Método ITransactionContextEx::Abort (comsvcs.h)

Anula el trabajo de todos los objetos COM que participan en la transacción actual. La transacción finaliza a partir de este método.

Sintaxis

HRESULT Abort();

Valor devuelto

Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y E_UNEXPECTED, así como los siguientes valores.

Código devuelto Descripción
S_OK
Se anuló la transacción.
E_FAIL
El objeto TransactionContextEx no se ejecuta en un proceso COM+, lo que posiblemente indica una entrada del Registro dañada para el componente TransactionContextEx .

Comentarios

La llamada a Abort finaliza la transacción al devolver el método y desactiva automáticamente todos los objetos participantes. Cada administrador de recursos inscrito en la transacción revierte las operaciones realizadas en nombre de esos objetos.

Ejemplos

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 Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado comsvcs.h

Consulte también

ITransactionContextEx