Bagikan melalui


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)

Lihat juga

IMoniker