Metode ITransactionContextEx::CreateInstance (comsvcs.h)
Membuat objek COM yang dapat dijalankan dalam cakupan transaksi yang dimulai oleh objek konteks transaksi.
Sintaks
HRESULT CreateInstance(
[in] REFCLSID rclsid,
[in] REFIID riid,
[out] void **pObject
);
Parameter
[in] rclsid
Referensi ke CLSID dari jenis objek yang akan dibuat instansnya.
[in] riid
Referensi ke ID antarmuka antarmuka tempat Anda akan berkomunikasi dengan objek baru.
[out] pObject
Referensi ke objek baru dari jenis yang ditentukan oleh parameter rclsid , melalui antarmuka yang ditentukan oleh parameter riid .
Nilai kembali
Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, dan E_FAIL, serta nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil diselesaikan. |
|
Komponen yang ditentukan oleh rclsid tidak terdaftar sebagai komponen COM. |
Keterangan
Jika Koordinator Transaksi Terdistribusi Microsoft tidak berjalan dan objeknya transaksional, objek berhasil dibuat. Namun, panggilan metode ke objek tersebut akan gagal dengan CONTEXT_E_TMNOTAVAILABLE. Objek tidak dapat pulih dari kondisi ini dan harus dirilis.
Contoh
ITransactionContextEx* pTransactionContext = NULL;
IMyObject* pMyObject = NULL;
HRESULT hr;
// Get TransactionContextEx.
hr = CoCreateInstance(CLSID_TransactionContextEx,
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);
Persyaratan
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 |