Bagikan melalui


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
S_OK
Metode berhasil diselesaikan.
REGDB_E_CLASSNOTREG
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

Lihat juga

ITransactionContextEx