Bagikan melalui


Fungsi CreateAntiMoniker (objbase.h)

Membuat dan mengembalikan anti-moniker baru.

Sintaks

HRESULT CreateAntiMoniker(
  [out] LPMONIKER *ppmk
);

Parameter

[out] ppmk

Alamat variabel pointer IMoniker* yang menerima penunjuk antarmuka ke anti-moniker baru. Ketika berhasil, fungsi telah memanggil AddRef pada anti-moniker dan pemanggil bertanggung jawab untuk memanggil Rilis. Ketika terjadi kesalahan, pointer anti-moniker adalah NULL.

Mengembalikan nilai

Fungsi ini dapat mengembalikan nilai pengembalian standar E_OUTOFMEMORY dan S_OK.

Keterangan

Anda akan memanggil fungsi ini hanya jika Anda menulis kelas moniker Anda sendiri (mengimplementasikan antarmuka IMoniker ). Jika Anda menulis kelas moniker baru yang tidak memiliki struktur internal, Anda dapat menggunakan CreateAntiMoniker dalam implementasi metode IMoniker::Inverse , lalu memeriksa anti-moniker dalam implementasi IMoniker::ComposeWith Anda.

Seperti direktori "..", yang bertindak sebagai inversi ke nama direktori apa pun yang hanya mendahuluinya di jalur, anti-moniker bertindak sebagai inversi moniker sederhana yang mendahuluinya dalam moniker komposit. Anti-moniker digunakan sebagai inversi moniker sederhana tanpa struktur internal. Misalnya, implementasi moniker file, moniker item, dan moniker pointer yang disediakan sistem semuanya menggunakan anti-monikers sebagai inversinya; akibatnya, anti-moniker terdiri dari kanan salah satu moniker ini terdiri dari apa-apa.

Klien moniker (objek yang menggunakan moniker untuk mengikat ke objek lain) biasanya tidak mengetahui kelas moniker tertentu, sehingga klien tidak dapat yakin bahwa anti-moniker adalah inversi. Oleh karena itu, untuk mendapatkan inversi moniker, Anda akan memanggil IMoniker::Inverse daripada CreateAntiMoniker.

Untuk menghapus bagian terakhir dari moniker komposit, Anda akan melakukan hal berikut:

  1. Panggil IMoniker::Enum pada komposit, menentukan FALSE sebagai parameter pertama. Ini membuat enumerator yang mengembalikan moniker komponen dalam urutan terbalik.
  2. Gunakan enumerator untuk mengambil bagian terakhir komposit.
  3. Panggil IMoniker::Inverse pada moniker itu. Moniker yang dikembalikan oleh Inverse akan menghapus bagian terakhir komposit.

Persyaratan

Persyaratan Nilai
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