Bagikan melalui


Mengakses Antarmuka Di Seluruh Apartemen

COM menyediakan cara bagi setiap apartemen dalam proses untuk mendapatkan akses ke antarmuka yang diterapkan pada objek di apartemen lain dalam proses. Ini dilakukan melalui antarmuka IGlobalInterfaceTable. Antarmuka ini memiliki tiga metode, yang memungkinkan Anda melakukan hal berikut:

  • Daftarkan antarmuka sebagai antarmuka global (processwide).
  • Dapatkan pointer ke antarmuka itu dari apartemen lain melalui cookie.
  • Mencabut pendaftaran global antarmuka.

Antarmuka IGlobalInterfaceTable adalah cara yang efisien bagi proses untuk menyimpan penunjuk antarmuka di lokasi memori yang dapat diakses dari beberapa apartemen dalam proses, seperti variabel di seluruh proses dan objek tangkas (utas bebas, objek marshal) yang berisi pointer antarmuka ke objek lain.

Objek tangkas tidak menyadari infrastruktur COM yang mendasarinya di mana ia berjalan; dengan kata lain, apartemen, konteks, dan utas apa yang dieksekusinya. Objek mungkin berpegang pada antarmuka yang khusus untuk apartemen atau konteks. Untuk alasan ini, memanggil antarmuka ini dari mana pun komponen tangkas dijalankan mungkin tidak selalu berfungsi dengan baik. Tabel antarmuka global menghindari masalah ini dengan menjamin bahwa proksi yang valid (atau penunjuk langsung) ke objek digunakan, berdasarkan tempat objek tangkas dijalankan.

Catatan

Tabel antarmuka global tidak portabel di seluruh batas proses atau mesin, sehingga tidak dapat digunakan sebagai pengganti mekanisme melewati parameter normal.

 

Untuk informasi tentang membuat dan menggunakan tabel antarmuka global, lihat topik berikut ini:

Memilih Model Threading

Apartemen Multithreaded

Masalah Utas Server Dalam Proses

Proses, Utas, dan Apartemen

Komunikasi Berutas Tunggal dan Multithreaded

Apartemen Single-Threaded