Bagikan melalui


IID_PPV_ARGS makro (combaseapi.h)

Digunakan untuk mengambil penunjuk antarmuka, menyediakan nilai IID antarmuka yang diminta secara otomatis berdasarkan jenis penunjuk antarmuka yang digunakan. Ini menghindari kesalahan pengkodian umum dengan memeriksa jenis nilai yang diteruskan pada waktu kompilasi.

Sintaks

void IID_PPV_ARGS(
   ppType
);

Parameter

ppType

Alamat penunjuk antarmuka yang tipe T-nya digunakan untuk menentukan jenis objek yang diminta. Makro mengembalikan penunjuk antarmuka melalui parameter ini.

Nilai kembali

Tidak ada

Keterangan

Sintaks umum dalam metode yang mengambil penunjuk antarmuka (terutama QueryInterface dan CoCreateInstance) mencakup dua parameter:

  • Parameter [in], biasanya dari jenis REFIID, untuk menentukan IID antarmuka yang akan diambil.
  • Parameter [out], biasanya dari jenis void**, untuk menerima penunjuk antarmuka.
Makro ini menghitung IID berdasarkan jenis penunjuk antarmuka, yang mencegah kesalahan pengodean di mana IID dan jenis penunjuk antarmuka tidak cocok. Pengembang Windows harus selalu menggunakan makro ini dengan metode apa pun yang memerlukan IID terpisah dan parameter penunjuk antarmuka.

Meskipun Windows 7 adalah penyertaan pertama makro ini dalam header publik, ini dapat digunakan pada sistem yang lebih lama dengan mendefinisikannya secara manual di header proyek atau kode sumber Anda.

Contoh berikut menunjukkan penggunaan IID_PPV_ARGS untuk membuat objek penyimpanan properti memori menggunakan IPropertyStore.

IPropertyStore *pPropertyStore;

CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header combaseapi.h