Bagikan melalui


Fungsi Pembantu Pembuatan Instans

Dalam rilis COM sebelumnya, mekanisme utama yang digunakan untuk membuat instans objek adalah fungsi CoCreateInstance. Fungsi ini merangkum proses pembuatan objek kelas, menggunakannya untuk membuat instans baru dan merilis objek kelas. Fungsi lain dari jenis ini adalah OleCreate yang lebih spesifik, pembantu dokumen majemuk OLE yang membuat objek kelas dan mengambil pointer ke objek yang diminta.

Untuk memuluskan proses pembuatan instans pada sistem terdistribusi, COM telah memperkenalkan empat mekanisme pembuatan instans baru yang penting:

Moniker kelas memungkinkan Anda mengidentifikasi kelas objek dan biasanya digunakan dengan moniker lain, seperti moniker file, untuk menunjukkan lokasi objek. Ini memungkinkan Anda untuk mengikat ke objek dan menentukan server yang akan diluncurkan untuk objek tersebut. Moniker kelas juga dapat disusun di sebelah kanan moniker yang mendukung pengikatan ke antarmuka IClassActivator. Untuk informasi selengkapnya, lihat Monikers Kelas.

CoCreateInstanceEx memperluas CoCreateInstance untuk memungkinkan untuk membuat satu objek yang tidak diinisialisasi yang terkait dengan CLSID yang diberikan pada komputer jarak jauh tertentu. Selain itu, daripada meminta satu antarmuka dan mendapatkan satu penunjuk ke antarmuka tersebut, CoCreateInstanceEx memungkinkan untuk mengkueri beberapa antarmuka dan (jika tersedia) menerima pointer kepada mereka dalam satu perjalanan pulang pergi, sehingga memungkinkan lebih sedikit perjalanan pulang-pergi antar mesin. Ini dapat membuat interaksi objek jarak jauh jauh lebih efisien. Untuk melakukan ini, fungsi menggunakan array struktur MULTI_QI.

Membuat objek melalui CoCreateInstanceEx masih mengharuskan objek diinisialisasi melalui panggilan ke salah satu antarmuka inisialisasi (seperti IPersistStorage::Load). Fungsi pembantu CoGetInstanceFromFile dan CoGetInstanceFromIStorage merangkum kekuatan pembuatan instans CoCreateInstanceEx dan inisialisasi, yang sebelumnya dari file dan yang terakhir dari penyimpanan.

Membuat Objek Melalui Objek Kelas