[1/3] msxml3/xsl: Basic put_input() method for IXSLProcessor (try2)

Nikolay Sivov nsivov at codeweavers.com
Wed Feb 16 07:29:36 CST 2011


On 2/16/2011 16:19, Alexandre Julliard wrote:
> 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.
Default case is to load a document from a passed variant. If you mean 
uninitialized hr, I'll fix that in next try.




More information about the wine-devel mailing list