[2/3] mshtml: Pass IID_IHTMLBodyElement to the IDispatchEx interface
Jacek Caban
jacek at codeweavers.com
Wed Aug 27 17:59:06 CDT 2008
Alistair Leslie-Hughes wrote:
> Hi Jacek,
> Thanks for you feedback.
>
> Jacek Caban wrote:
>> Hi Alistair,
>>
>> You should add
>> IHTMLDOMNode_tid,
>> IHTMLDOMNode2_tid,
>> IHTMLElement_tid,
>> IHTMLElement2_tid,
> Can you tell me what this list is for?
We need to support functions that are in different dual interfaces.
There is one interface (usually called Disp*) that contains all object's
methods, but, as it's dispinterface, we can't use it in
ITypeInfo::Invoke call. That's why we also need a list of dual
interfaces to build a list of methods containing all info we need. Let
me know if you need more explanation.
>
>> here.
>>
>>> +static dispex_static_data_t HTMLBodyElement_dispex = {
>>> + NULL,
>>> + IHTMLBodyElement_tid,
>>
>>
>> You should use DispHTMLBodyElement here.
>>
> I assumed the DispHTMLBodyElement_tid == DIID_IHTMLBodyElement, based
> off the current implementation, but DIID_IHTMLBodyElement doesn't
> exist in the mshtml.h file (Microsoft one). This is why I used
> IHTMLBodyElement_tid.
> So make DispHTMLBodyElement_tid = IID_IHTMLBodyElement?
It looks like body element breaks the naming convention of other
element's interfaces and it's called DispHTMLBody (its iid is
DIID_DispHTMLBody).
Jacek
More information about the wine-devel
mailing list