Bagikan melalui


Fungsi CoGetDefaultContext (combaseapi.h)

Mengambil referensi ke konteks default apartemen yang ditentukan.

Sintaks

HRESULT CoGetDefaultContext(
  [in]  APTTYPE aptType,
  [in]  REFIID  riid,
  [out] void    **ppv
);

Parameter

[in] aptType

Jenis apartemen dari konteks default yang diminta. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
APTTYPE_CURRENT
-1
Apartemen penelepon.
APTTYPE_MTA
1
Apartemen multithreaded untuk proses saat ini.
APTTYPE_NA
2
Apartemen netral untuk proses saat ini.
APTTYPE_MAINSTA
3
Apartemen utama berulir tunggal untuk proses saat ini.
 

Nilai APTTYPE APTTYPE_STA (0) tidak didukung. Proses dapat berisi beberapa apartemen berulir tunggal, masing-masing dengan konteksnya sendiri, sehingga CoGetDefaultContext tidak dapat menentukan STA mana yang menarik. Oleh karena itu, fungsi ini mengembalikan E_INVALIDARG jika APTTYPE_STA ditentukan.

[in] riid

Pengidentifikasi antarmuka (IID) antarmuka yang diminta pada konteks default. Biasanya, pemanggil meminta IID_IObjectContext. Konteks default tidak mendukung semua antarmuka konteks objek normal.

[out] ppv

Referensi ke antarmuka yang ditentukan oleh riid pada konteks default. Jika komponen objek tidak dikonfigurasi, (yaitu, komponen objek belum diimpor ke aplikasi COM+), atau jika fungsi CoGetDefaultContext dipanggil dari konstruktor atau metode IUnknown , parameter ini diatur ke penunjuk NULL .

Nilai kembali

Metode ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
Salah satu parameter tidak valid.
CO_E_NOTINITIALIZED
Penelepon tidak berada di apartemen yang diinisialisasi.
E_NOINTERFACE
Konteks objek tidak mendukung antarmuka yang ditentukan oleh riid.

Keterangan

Setiap apartemen COM memiliki konteks khusus yang disebut konteks default. Konteks default berbeda dari konteks non-default lainnya di apartemen karena tidak menyediakan layanan runtime. Ini tidak mendukung semua antarmuka konteks objek normal.

Konteks default juga digunakan oleh instans komponen COM yang tidak dikonfigurasi, (yaitu, komponen yang belum menjadi bagian dari aplikasi COM+), ketika dibuat dari apartemen yang tidak mendukung model utas mereka. Dengan kata lain, jika objek COM membuat instans komponen yang tidak dikonfigurasi dan objek baru tidak dapat ditambahkan ke konteks pembuatnya karena model utasnya, objek baru malah ditambahkan ke konteks default apartemen yang mendukung model utasnya.

Objek tidak boleh meneruskan referensi IObjectContext ke objek lain. Jika Anda meneruskan referensi IObjectContext ke objek lain, itu bukan lagi referensi yang valid.

Ketika objek mendapatkan referensi ke IObjectContext, objek tersebut harus merilis objek IObjectContext setelah selesai.

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header combaseapi.h
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

Com+ Konteks dan Model Utas