Condividi tramite


Metodo ITransactionContextEx::Abort (comsvcs.h)

Interrompe il lavoro di tutti gli oggetti COM che partecipano alla transazione corrente. La transazione termina a partire da questo metodo.

Sintassi

HRESULT Abort();

Valore restituito

Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
La transazione è stata interrotta.
E_FAIL
L'oggetto TransactionContextEx non è in esecuzione in un processo COM+, eventualmente indicando una voce del Registro di sistema danneggiata per il componente TransactionContextEx .

Commenti

La chiamata di interruzione termina la transazione al ritorno del metodo e disattiva automaticamente tutti gli oggetti partecipanti. Ogni resource manager incluso nella transazione esegue il rollback delle operazioni eseguite per conto di tali oggetti.

Esempio

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);
}


Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione comsvcs.h

Vedi anche

ITransactionContextEx