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 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 |
---|---|
|
Metode berhasil diselesaikan. |
|
Salah satu parameter tidak valid. |
|
Penelepon tidak berada di apartemen yang diinisialisasi. |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk