webservices: Implement WsGetWriterProperty.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hans Leidekker 2015-10-14 13:01:06 +02:00 committed by Alexandre Julliard
parent 65e04e006e
commit 9dfe9ec8bb
2 changed files with 24 additions and 1 deletions

View File

@ -88,7 +88,7 @@
@ stub WsGetServiceHostProperty
@ stub WsGetServiceProxyProperty
@ stub WsGetWriterPosition
@ stub WsGetWriterProperty
@ stdcall WsGetWriterProperty(ptr long ptr long ptr)
@ stub WsGetXmlAttribute
@ stub WsInitializeMessage
@ stub WsMarkHeaderAsUnderstood

View File

@ -92,6 +92,15 @@ static HRESULT set_writer_prop( struct writer *writer, WS_XML_WRITER_PROPERTY_ID
return S_OK;
}
static HRESULT get_writer_prop( struct writer *writer, WS_XML_WRITER_PROPERTY_ID id, void *buf, ULONG size )
{
if (id >= writer->prop_count || size != writer_props[id].size)
return E_INVALIDARG;
memcpy( buf, writer->prop[id].value, writer->prop[id].valueSize );
return S_OK;
}
/**************************************************************************
* WsCreateWriter [webservices.@]
*/
@ -141,3 +150,17 @@ void WINAPI WsFreeWriter( WS_XML_WRITER *handle )
TRACE( "%p\n", handle );
heap_free( writer );
}
/**************************************************************************
* WsGetWriterProperty [webservices.@]
*/
HRESULT WINAPI WsGetWriterProperty( WS_XML_WRITER *handle, WS_XML_WRITER_PROPERTY_ID id,
void *buf, ULONG size, WS_ERROR *error )
{
struct writer *writer = (struct writer *)handle;
TRACE( "%p %u %p %u %p\n", handle, id, buf, size, error );
if (error) FIXME( "ignoring error parameter\n" );
return get_writer_prop( writer, id, buf, size );
}