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 |
---|---|
|
La transazione è stata interrotta. |
|
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 |