Hans Leidekker : webservices: Implement WsGetWriterProperty.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Oct 14 11:12:50 CDT 2015


Module: wine
Branch: master
Commit: 9dfe9ec8bb3a6a26e5d2bcc8e0553b1d27707eba
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9dfe9ec8bb3a6a26e5d2bcc8e0553b1d27707eba

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed Oct 14 13:01:06 2015 +0200

webservices: Implement WsGetWriterProperty.

Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/webservices/webservices.spec |  2 +-
 dlls/webservices/writer.c         | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec
index a8e82ec..0a77d45 100644
--- a/dlls/webservices/webservices.spec
+++ b/dlls/webservices/webservices.spec
@@ -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
diff --git a/dlls/webservices/writer.c b/dlls/webservices/writer.c
index e9147fc..51711e4 100644
--- a/dlls/webservices/writer.c
+++ b/dlls/webservices/writer.c
@@ -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 );
+}




More information about the wine-cvs mailing list