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.
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 |