Bagikan melalui


Metode ITransactionContextEx::Abort (comsvcs.h)

Membatalkan pekerjaan semua objek COM yang berpartisipasi dalam transaksi saat ini. Transaksi berakhir dengan pengembalian dari metode ini.

Sintaks

HRESULT Abort();

Mengembalikan nilai

Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, dan E_UNEXPECTED, serta nilai berikut.

Menampilkan kode Deskripsi
S_OK
Transaksi dibatalkan.
E_FAIL
Objek TransactionContextEx tidak berjalan di bawah proses COM+, mungkin menunjukkan entri registri yang rusak untuk komponen TransactionContextEx .

Keterangan

Memanggil Abort mengakhiri transaksi pada pengembalian metode dan secara otomatis menonaktifkan semua objek yang berpartisipasi. Setiap manajer sumber daya yang terdaftar dalam transaksi mengembalikan operasi yang dilakukan atas nama objek tersebut.

Contoh

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


Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header comsvcs.h

Lihat juga

ITransactionContextEx