Jacek Caban (@jacek) commented about dlls/mshtml/htmlelem.c:
+ {DISPID_IHTMLELEMENT_FILTERS}, + {DISPID_IHTMLELEMENT_ONDRAGSTART}, + {DISPID_IHTMLELEMENT_TOSTRING}, + {DISPID_IHTMLELEMENT_ONBEFOREUPDATE}, + {DISPID_IHTMLELEMENT_ONAFTERUPDATE}, + {DISPID_IHTMLELEMENT_ONERRORUPDATE}, + {DISPID_IHTMLELEMENT_ONROWEXIT}, + {DISPID_IHTMLELEMENT_ONROWENTER}, + {DISPID_IHTMLELEMENT_ONDATASETCHANGED}, + {DISPID_IHTMLELEMENT_ONDATAAVAILABLE}, + {DISPID_IHTMLELEMENT_ONDATASETCOMPLETE}, + {DISPID_IHTMLELEMENT_ONFILTERCHANGE}, + {DISPID_IHTMLELEMENT_CHILDREN}, + {DISPID_IHTMLELEMENT_ALL}, + {DISPID_UNKNOWN} + }; That's cryptic... you're filtering 52 out of 56 `IHTMLElement`'s dispids. To understand what you're doing here, I'd need to cross-check all of them to find out what's not present in this table. It seems to me that what you need here is a way to specify dispids that are actually meant to be exposed instead. It should be easy to have an optional allow-list in `process_interface` and a new helper like `dispex_info_add_dispids` exposing that.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6910#note_89027