On 11/4/2011 20:00, Jacek Caban wrote:
Hi Nikolay,
On 11/04/11 16:46, Nikolay Sivov wrote:
+ if(This->data->vtbl&& This->data->vtbl->invoke) {
+ hres = This->data->vtbl->invoke(This->outer, id, lcid,
wFlags, pdp, pvarRes, pei);
+ if (hres != E_NOTIMPL) return hres;
+ }
Using E_NOTIMPL for special meaning here seems wrong to me.
DISP_E_UNKNOWNNAME could be a better choice. However, if you'd move
custom invoke implementation to be the last choice, after dynamic and
typelib-based values, then you could simply return whatever invoke
returns.
I was thinking about additional call in vtable to use instead of
is_custom to check if dispid is supposed to be handled with custom
invoke. What do you think about it?
Jacek