[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