ITypeInfo::Memanggil metode (oaidl.h)
Memanggil metode, atau mengakses properti objek, yang mengimplementasikan antarmuka yang dijelaskan oleh deskripsi jenis.
Sintaks
HRESULT Invoke(
[in] PVOID pvInstance,
[in] MEMBERID memid,
[in] WORD wFlags,
[in, out] DISPPARAMS *pDispParams,
[out] VARIANT *pVarResult,
[out] EXCEPINFO *pExcepInfo,
[out] UINT *puArgErr
);
Parameter
[in] pvInstance
Instans antarmuka yang dijelaskan oleh deskripsi jenis ini.
[in] memid
Anggota antarmuka.
[in] wFlags
Bendera yang menjelaskan konteks panggilan pemanggilan.
[in, out] pDispParams
Array argumen, array DISPID untuk argumen bernama, dan jumlah jumlah elemen di setiap array.
[out] pVarResult
Hasilnya. Harus null jika penelepon tidak mengharapkan hasil apa pun. Jika wFlags menentukan DISPATCH_PROPERTYPUT atau DISPATCH_PROPERTYPUTREF, pVarResultis diabaikan.
[out] pExcepInfo
Struktur informasi pengecualian, yang diisi hanya jika DISP_E_EXCEPTION dikembalikan. Jika pExcepInfo null pada input, hanya kesalahan HRESULT yang akan dikembalikan.
[out] puArgErr
Jika Invoke mengembalikan DISP_E_TYPEMISMATCH, puArgErr menunjukkan indeks (dalam rgvarg) argumen dengan jenis yang salah. Jika lebih dari satu argumen mengembalikan kesalahan, puArgErr hanya menunjukkan argumen pertama dengan kesalahan. Argumen dalam pDispParams-rgvarg> muncul dalam urutan terbalik, sehingga argumen pertama adalah argumen yang memiliki indeks tertinggi dalam array. Parameter ini tidak boleh null.
Nilai kembali
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Satu atau beberapa argumen tidak valid. |
|
Anggota yang dipanggil telah mengembalikan kesalahan HRESULT. Jika anggota mengimplementasikan IErrorInfo, detail tersedia dalam objek kesalahan. Jika tidak, parameter pExcepInfo berisi detail. |
Salah satu kesalahan IDispatch::Invoke juga dapat dikembalikan.
Keterangan
Gunakan fungsi ITypeInfo::Invoke untuk mengakses anggota objek atau memanggil metode yang mengimplementasikan antarmuka yang dijelaskan oleh deskripsi jenis ini. Untuk objek yang mendukung antarmuka IDispatch , Anda dapat menggunakan Invoke untuk mengimplementasikan IDispatch::Invoke.
ITypeInfo::Invoke mengambil pointer ke instans kelas. Jika tidak, parameternya sama dengan IDispatch::Invoke, kecuali bahwa ITypeInfo::Invoke menghilangkan parameter refiid dan lcid . Ketika dipanggil, ITypeInfo::Invoke melakukan tindakan yang dijelaskan oleh parameter IDispatch::Invoke pada instans yang ditentukan.
Untuk anggota antarmuka VTBL, ITypeInfo::Invoke meneruskan LCID informasi jenis ke dalam parameter yang ditandai dengan atribut lcid, dan nilai yang dikembalikan ke dalam atribut retval.
Jika deskripsi jenis mewarisi dari deskripsi jenis lain, fungsi ini berulang pada deskripsi jenis dasar untuk menemukan item dengan ID anggota yang diminta.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | oaidl.h |