[1/3] msxml3/xsl: Basic put_input() method for IXSLProcessor (try2)
Alexandre Julliard
julliard at winehq.org
Wed Feb 16 07:19:09 CST 2011
Nikolay Sivov <nsivov at codeweavers.com> writes:
> @@ -381,9 +386,40 @@ static HRESULT WINAPI xslprocessor_Invoke(
> static HRESULT WINAPI xslprocessor_put_input( IXSLProcessor *iface, VARIANT input )
> {
> xslprocessor *This = impl_from_IXSLProcessor( iface );
> + IXMLDOMNode *input_node;
> + HRESULT hr;
>
> - FIXME("(%p): stub\n", This);
> - return E_NOTIMPL;
> + TRACE("(%p)->(%s)\n", This, debugstr_variant(&input));
> +
> + /* try IXMLDOMNode directly first */
> + if (V_VT(&input) == VT_UNKNOWN)
> + hr = IUnknown_QueryInterface(V_UNKNOWN(&input), &IID_IXMLDOMNode, (void**)&input_node);
> + else if (V_VT(&input) == VT_DISPATCH)
> + hr = IDispatch_QueryInterface(V_DISPATCH(&input), &IID_IXMLDOMNode, (void**)&input_node);
> +
> + if (hr != S_OK)
You need to handle the default case somehow.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list