Invoke with IDispatch* params

Ove Kaaven ovek at arcticnet.no
Thu Jul 24 07:17:22 CDT 2003


ons, 23.07.2003 kl. 15.49 skrev Mike Hearn:
> This comment in the code concerns me:
> 
> /*FIXME: give pointers for the rest, so propertyget works*/

I'm not sure what this comment refers to. It looks to me like "give
pointers for the rest so propertyget works" is what it's already doing.
Perhaps the fixme means "this should probably be done only when
appropriate, not always", or perhaps someone added it without removing
the fixme.

> well, this is indeed a property get, so the result should be made
> available in pVarResult. 
> 
> This code looked promising:
> 
> /* If pointer to variant, pass reference it. */
> if ((tdesc->vt == VT_PTR) && (tdesc->u.lptdesc->vt == VT_VARIANT) &&    
>     pVarResult) {
> 	args[argspos] = (DWORD)pVarResult;
> }

This is just a fast-path, the other cases are handled below, in the "if
(pVarResult && (dwFlags & (DISPATCH_PROPERTYGET)))" section.





More information about the wine-devel mailing list