Bagikan melalui


Fungsi CoEnterServiceDomain (comsvcs.h)

Digunakan untuk memasukkan kode yang kemudian dapat menggunakan layanan COM+.

Sintaks

HRESULT CoEnterServiceDomain(
  [in] IUnknown *pConfigObject
);

Parameter

[in] pConfigObject

Penunjuk ke antarmuka IUnknown objek, yang dibuat dari kelas CServiceConfig , yang berisi informasi konfigurasi untuk layanan yang akan digunakan dalam kode tertutup.

Nilai kembali

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

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
CO_E_SXS_CONFIG
Konfigurasi perakitan berdampingan dari objek CServiceConfig tidak valid.
CO_E_THREADPOOL_CONFIG
Konfigurasi kumpulan utas objek CServiceConfig tidak valid. Model apartemen utas tidak dapat dikonfigurasi ulang dengan memanggil CoEnterServiceDomain.
CO_E_TRACKER_CONFIG
Konfigurasi pelacak objek CServiceConfig tidak valid.
COMADMIN_E_PARTITION_ACCESSDENIED
Pemanggil tidak memiliki izin akses untuk partisi COM+.

Keterangan

Kode yang diapit antara panggilan ke CoEnterServiceDomain dan CoLeaveServiceDomain berjalan dalam konteksnya sendiri dan berperilaku seolah-olah itu adalah metode yang dipanggil pada objek yang dibuat dalam konteks. CoEnterServiceDomain tidak dapat beralih ke model apartemen yang berbeda, sehingga kode tertutup berjalan di apartemen penelepon dan di utas penelepon. Ini adalah kesalahan untuk mencoba mengubah model apartemen melalui objek CServiceConfig saat memanggil CoEnterServiceDomain.

CoEnterServiceDomain pertama-tama membuat konteks yang dikonfigurasi seperti yang ditentukan oleh objek CServiceConfig yang diteruskan sebagai parameter pConfigObject . Kebijakan di sisi klien dan server kemudian dipicu seolah-olah panggilan metode telah terjadi. Konteks baru kemudian didorong ke tumpukan konteks dan menjadi konteks saat ini.

Karena desainnya yang efisien dan karena tidak ada marshaling utas yang terlibat, menggunakan CoEnterServiceDomain dan CoLeaveServiceDomain melibatkan overhead yang berkurang secara signifikan dibandingkan dengan panggilan metode yang setara.

CoEnterServiceDomain dan CoLeaveServiceDomain sangat berguna dalam aplikasi, yang dapat menggunakan fungsi-fungsi ini untuk mengakses layanan COM+ tanpa perlu membuat komponen untuk melakukannya.

Pasangan CoEnterServiceDomain dan CoLeaveServiceDomain dapat ditumpuk.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header comsvcs.h
Pustaka ComSvcs.lib
DLL ComSvcs.dll

Lihat juga

Layanan COM+ Tanpa Komponen

CServiceConfig

CoCreateActivity

CoLeaveServiceDomain