idispatch与自动化、activex内容摘要:

PID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] WORD wFlags, [in, out] DISPPARAMS * pDispParams, [out] VARIANT * pVarResult, [out] EXCEPINFO * pExcepInfo, [out] UINT * puArgErr)。 } DISPID 分发 ID 由 GetIDsOfNames返回 长整数,并不是 GUID 每个方法和属性都有唯一 DISPID 分发接口( dispinterface) 纯粹基于 IDispatch的接口 只能通过 IDispatch接口来访问对象 双接口( dual interface) 从 IDispatch继承的自定义接口 通过 vtable直接访问自定义接口的方法 通过 IDispatch访问方法 GetIDsOfNames方法 HRESULT GetIDsOfNames( [in] REFIID riid, [in, size_is(cNames)] LPOLESTR * rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID * rgDispId )。 riid 没有被使用,其值必须为 IID_NULL rgszNames 函数名数组 cNames 函数名个数 Lcid 调用者的地区标识( GetUserDefaultLCID) rgDispId 返回的 DISPID数组 Invoke方法 HRESULT Invoke( [in] DISPID dispIdMember, //要调用方法或属性的 DISPID [in] REFIID riid, //保留,必须为 IID_NULL [in] LCID lcid, //调用者的地区标识 [in] WORD wFlags, //见后 [in, out] DISPPARAMS * pDispParams, //包含方法的实际参数 [out] VARIANT * pVarResult, //返回值指针 [out] EXCEPINFO * pExcepInfo,//返回异常信息 [out] UINT * puArgErr )。 //返回错误参数索引 wFlag参数 Interface IDindow:IDispatch { [proput] HRESULT Visible([in] VARIANT_BOOL bVisible)。 [proget] HRESULT Visible([out,retval] VA。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。