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 |
---|---|
|
Se anuló la transacción. |
|
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 |