[4/5] webservices: Implement WsWriteMessageEnd.

Hans Leidekker hans at codeweavers.com
Tue Apr 25 04:31:29 CDT 2017


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/webservices/channel.c        | 29 +++++++++++++++++++++++++++++
 dlls/webservices/webservices.spec |  2 +-
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/dlls/webservices/channel.c b/dlls/webservices/channel.c
index bff9a4b15e..aa78d1e762 100644
--- a/dlls/webservices/channel.c
+++ b/dlls/webservices/channel.c
@@ -1139,6 +1139,35 @@ done:
     return hr;
 }
 
+/**************************************************************************
+ *          WsWriteMessageEnd		[webservices.@]
+ */
+HRESULT WINAPI WsWriteMessageEnd( WS_CHANNEL *handle, WS_MESSAGE *msg, const WS_ASYNC_CONTEXT *ctx,
+                                  WS_ERROR *error )
+{
+    struct channel *channel = (struct channel *)handle;
+    HRESULT hr;
+
+    TRACE( "%p %p %p %p\n", handle, msg, ctx, error );
+    if (error) FIXME( "ignoring error parameter\n" );
+    if (ctx) FIXME( "ignoring ctx parameter\n" );
+
+    if (!channel || !msg) return E_INVALIDARG;
+
+    EnterCriticalSection( &channel->cs );
+
+    if (channel->magic != CHANNEL_MAGIC)
+    {
+        LeaveCriticalSection( &channel->cs );
+        return E_INVALIDARG;
+    }
+
+    if ((hr = WsWriteEnvelopeEnd( msg, NULL )) == S_OK) hr = send_message( channel, msg );
+
+    LeaveCriticalSection( &channel->cs );
+    return hr;
+}
+
 HRESULT channel_accept_tcp( SOCKET socket, WS_CHANNEL *handle )
 {
     struct channel *channel = (struct channel *)handle;
diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec
index 204e3f209f..aa9b58f8a0 100644
--- a/dlls/webservices/webservices.spec
+++ b/dlls/webservices/webservices.spec
@@ -177,7 +177,7 @@
 @ stdcall WsWriteEndStartElement(ptr ptr)
 @ stdcall WsWriteEnvelopeEnd(ptr ptr)
 @ stdcall WsWriteEnvelopeStart(ptr ptr ptr ptr ptr)
-@ stub WsWriteMessageEnd
+@ stdcall WsWriteMessageEnd(ptr ptr ptr ptr)
 @ stdcall WsWriteMessageStart(ptr ptr ptr ptr)
 @ stdcall WsWriteNode(ptr ptr ptr)
 @ stub WsWriteQualifiedName
-- 
2.11.0




More information about the wine-patches mailing list