Fungsi CreateObjrefMoniker (objbase.h)
Membuat moniker OBJREF berdasarkan penunjuk ke objek.
Sintaks
HRESULT CreateObjrefMoniker(
[in, optional] LPUNKNOWN punk,
[out] LPMONIKER *ppmk
);
Parameter
[in, optional] punk
Penunjuk ke antarmuka IUnknown pada objek yang akan diwakili moniker.
[out] ppmk
Alamat pointer ke antarmuka IMoniker pada moniker OBJREF yang dibuat.
Menampilkan nilai
Fungsi ini dapat mengembalikan nilai pengembalian standar E_OUTOFMEMORY, E_UNEXPECTED, dan S_OK.
Keterangan
Klien menggunakan moniker OBJREF untuk mendapatkan penunjuk marshal ke objek yang sedang berjalan di ruang alamat server.
Server biasanya memanggil CreateObjrefMoniker untuk membuat moniker OBJREF dan kemudian memanggil IMoniker::GetDisplayName, dan akhirnya merilis moniker. Nama tampilan untuk moniker OBJREF adalah dari bentuk:
OBJREF:nnnnnnnn
Di mana nnnnnnnn adalah pengodean base-64 yang sangat panjang yang merangkum lokasi komputer, titik akhir proses, dan ID penunjuk antarmuka (IPID) dari objek yang sedang berjalan
Nama tampilan kemudian dapat ditransfer ke klien sebagai teks. Misalnya, nama tampilan dapat berada di halaman HTML yang diunduh klien.
Klien dapat meneruskan nama tampilan ke MkParseDisplayName, yang membuat moniker OBJREF berdasarkan nama tampilan. Panggilan ke metode monikers IMoniker::BindToObject kemudian mendapatkan pointer marshaled ke instans yang sedang berjalan di server.
Misalnya, komponen COM sisi server yang terkandung dalam Halaman Server Aktif dapat membuat moniker OBJREF, mendapatkan nama tampilannya, dan menulis nama tampilan ke output HTML yang dikirim ke browser klien. Skrip yang berjalan di sisi klien dapat menggunakan nama tampilan untuk mendapatkan akses ke objek yang sedang berjalan itu sendiri. Skrip Visual Basic sisi klien, misalnya, dapat menyimpan nama tampilan dalam variabel yang disebut strMyName dan menyertakan baris ini:
objMyInstance = GetObject(strMyName)
Mesin skrip secara internal melakukan panggilan ke MkParseDisplayName dan IMoniker::BindToObject, dan skrip kemudian dapat menggunakan objMyInstance untuk merujuk langsung ke objek yang sedang berjalan.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows 2000 Server [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | objbase.h |
Pustaka | Ole32.lib |
DLL | Ole32.dll |
Set API | ext-ms-win-com-ole32-l1-1-5 (diperkenalkan dalam Windows 10, versi 10.0.15063) |