[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