[PATCH] shell32: Implement IShellDispatch2::ShellExecute

Jacek Caban jacek at codeweavers.com
Fri Oct 16 10:34:19 CDT 2015


Hi Andrew,

On 10/16/15 16:54, Andrew Eikum wrote:
> +static HRESULT WINAPI ShellDispatch_ShellExecute(IShellDispatch6 *iface, BSTR file, VARIANT v_args, VARIANT v_dir,
> +        VARIANT v_op, VARIANT v_show)
>  {
> -    FIXME("(%s): stub\n", debugstr_w(file));
> -    return E_NOTIMPL;
> +    WCHAR *op = NULL, *args = NULL, *dir = NULL;
> +    INT show = 0;
> +
> +    TRACE("(%s, %s, %s, %s, %s): stub\n", debugstr_w(file), debugstr_variant(&v_args),
> +            debugstr_variant(&v_dir), debugstr_variant(&v_op), debugstr_variant(&v_show));
> +
> +    if (V_VT(&v_op) == VT_BSTR)
> +        op = V_BSTR(&v_op);
> +
> +    if (V_VT(&v_args) == VT_BSTR)
> +        args = V_BSTR(&v_args);
> +
> +    if (V_VT(&v_dir) == VT_BSTR)
> +        dir = V_BSTR(&v_dir);
> +
> +    if (V_VT(&v_show) == VT_INT)
> +        show = V_INT(&v_show);

At least for show argument some conversion should be done, I believe.
jscript will pass it as VT_I4, vbscript as VT_I2 and both should
probably work. It's fine to not handle it in the initial version, but
please at least add a FIXME. Also, to be safe, I'd add one for string
arguments as well.

Thanks,
Jacek



More information about the wine-patches mailing list