Metode IMoniker::GetDisplayName (objidl.h)

Mengambil nama tampilan untuk moniker.

Sintaks

HRESULT GetDisplayName(
  [in]  IBindCtx *pbc,
  [in]  IMoniker *pmkToLeft,
  [out] LPOLESTR *ppszDisplayName
);

Parameter

[in] pbc

Penunjuk ke antarmuka IBindCtx pada konteks ikatan yang akan digunakan dalam operasi ini. Konteks ikatan menyimpan objek yang terikat selama proses pengikatan, berisi parameter yang berlaku untuk semua operasi menggunakan konteks ikatan, dan menyediakan sarana di mana implementasi moniker harus mengambil informasi tentang lingkungannya.

[in] pmkToLeft

Jika moniker adalah bagian dari moniker komposit, arahkan ke moniker di sebelah kiri moniker ini. Parameter ini digunakan terutama oleh pelaksana moniker untuk memungkinkan kerja sama antara berbagai komponen moniker komposit. Klien Moniker harus melewati NULL.

[out] ppszDisplayName

Alamat variabel pointer yang menerima penunjuk ke string nama tampilan untuk moniker. Implementasi harus menggunakan IMalloc::Alloc untuk mengalokasikan string yang dikembalikan dalam ppszDisplayName, dan pemanggil bertanggung jawab untuk memanggil IMalloc::Free untuk membebaskannya. Pemanggil dan implementasi metode ini menggunakan alokator tugas COM yang dikembalikan oleh CoGetMalloc. Jika terjadi kesalahan, implementasi harus mengatur *ppszDisplayName harus diatur ke NULL.

Menampilkan nilai

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

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
MK_E_EXCEEDEDDEADLINE
Operasi pengikatan tidak dapat diselesaikan dalam batas waktu yang ditentukan oleh struktur BIND_OPTS konteks ikat.
E_NOTIMPL
Tidak ada nama tampilan.

Keterangan

GetDisplayName menyediakan string yang merupakan representasi moniker yang dapat ditampilkan. Nama tampilan bukan representasi lengkap dari status internal moniker; ini hanyalah bentuk yang dapat dibaca oleh pengguna. Akibatnya, dimungkinkan (meskipun jarang) bagi dua moniker yang berbeda untuk memiliki nama tampilan yang sama. Meskipun tidak ada jaminan bahwa nama tampilan moniker dapat diurai kembali ke moniker tersebut saat memanggil fungsi MkParseDisplayName dengannya, kegagalan untuk melakukannya jarang terjadi.

Catatan untuk Penelepon

Ada kemungkinan bahwa mengambil nama tampilan moniker mungkin merupakan operasi yang mahal. Untuk efisiensi, Anda mungkin ingin menyimpan hasil panggilan pertama yang berhasil ke GetDisplayName, daripada melakukan panggilan berulang.

Catatan untuk Pelaksana

Jika Anda menulis kelas moniker di mana nama tampilan tidak berubah, cukup cache nama tampilan dan berikan nama cache saat diminta. Jika nama tampilan dapat berubah dari waktu ke waktu, mendapatkan nama tampilan saat ini mungkin berarti bahwa moniker harus mengakses penyimpanan objek atau mengikat objek, salah satunya dapat menjadi operasi yang mahal. Jika demikian, implementasi GetDisplayName Anda harus mengembalikan MK_E_EXCEEDEDDEADLINE jika nama tidak dapat diambil oleh waktu yang ditentukan dalam struktur BIND_OPTS konteks ikat.

Moniker yang dimaksudkan untuk menjadi bagian dari moniker komposit generik harus menyertakan pemisah sebelumnya (seperti '') sebagai bagian dari nama tampilannya. Misalnya, nama tampilan yang dikembalikan oleh moniker item menyertakan pemisah yang ditentukan saat dibuat dengan fungsi CreateItemMoniker . Nama tampilan untuk moniker file tidak menyertakan pemisah karena moniker file selalu diharapkan menjadi komponen paling kiri dari komposit.

Catatan khusus implementasi

Implementasi Catatan
Anti-moniker Untuk setiap anti-moniker yang terkandung dalam moniker ini, metode ini mengembalikan satu instans "\..".
Moniker kelas Nama tampilan untuk moniker kelas adalah dari bentuk berikut: clsid:string-clsid-no-curly-braces *[";" clsid-param=nilai]:. Misalnya, clsid:a7b90590-36fd-11cf-857d-00aa006d2ea4:.
Moniker file Metode ini mengembalikan jalur yang diwakili moniker.
Moniker komposit generik Metode ini mengembalikan perangkaian nama tampilan yang dikembalikan oleh setiap moniker komponen komposit.
Moniker item Metode ini mengembalikan perangkaian pemisah dan nama item yang ditentukan saat moniker item dibuat.
Moniker OBJREF Metode ini mendapatkan nama tampilan untuk moniker OBJREF. Nama tampilan adalah pengodean 64-bit yang merangkum lokasi komputer, titik akhir proses, dan ID penunjuk antarmuka (IPID) dari objek yang sedang berjalan. Untuk kompatibilitas di masa mendatang, nama tampilan dibatasi untuk karakter yang dapat ditentukan sebagai bagian dari URL.
Penunjuk moniker Metode ini mengembalikan E_NOTIMPL.
Moniker URL Moniker URL mencoba mengembalikan string URL lengkapnya. Jika moniker dibuat dengan string URL parsial (lihat CreateURLMonikerEx), moniker URL pertama-tama akan mencoba menemukan moniker URL dalam konteks ikat di bawah SZ_URLCONTEXT dan selanjutnya akan melihat ke moniker di sebelah kirinya untuk informasi kontekstual. Jika tidak dapat mengembalikan string URL lengkapnya, string URL parsialnya akan ditampilkan.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header objidl.h

Lihat juga

IMoniker

MkParseDisplayName