Partager via


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

Abandonne le travail de tous les objets COM participant à la transaction actuelle. La transaction se termine au retour de cette méthode.

Syntaxe

HRESULT Abort();

Valeur de retour

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
La transaction a été abandonnée.
E_FAIL
L’objet TransactionContextEx ne s’exécute pas sous un processus COM+, ce qui indique éventuellement une entrée de Registre endommagée pour le composant TransactionContextEx .

Remarques

L’appel d’Abort met fin à la transaction au retour de la méthode et désactive automatiquement tous les objets participants. Chaque gestionnaire de ressources inscrit dans la transaction restaure les opérations effectuées pour le compte de ces objets.

Exemples

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


Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h

Voir aussi

ITransactionContextEx