ITransactionContextEx::Abort-Methode (comsvcs.h)
Bricht die Arbeit aller COM-Objekte ab, die an der aktuellen Transaktion teilnehmen. Die Transaktion endet mit der Rückgabe von dieser Methode.
Syntax
HRESULT Abort();
Rückgabewert
Diese Methode kann die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Transaktion wurde abgebrochen. |
|
Das TransactionContextEx-Objekt wird nicht unter einem COM+-Prozess ausgeführt, was möglicherweise einen beschädigten Registrierungseintrag für die TransactionContextEx-Komponente angibt. |
Hinweise
Das Aufrufen von Abort beendet die Transaktion bei Rückgabe der -Methode und deaktiviert automatisch alle teilnehmenden Objekte. Jeder Ressourcen-Manager, der in der Transaktion aufgeführt ist, führt ein Rollback für die Vorgänge aus, die für diese Objekte ausgeführt werden.
Beispiele
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);
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | comsvcs.h |