[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