Hans Leidekker : webservices: Implement WsReadMessageStart.

Alexandre Julliard julliard at winehq.org
Tue Apr 25 16:22:35 CDT 2017


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Apr 25 11:31:26 2017 +0200

webservices: Implement WsReadMessageStart.

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

---

 dlls/webservices/channel.c        | 32 ++++++++++++++++++++++++++++++++
 dlls/webservices/webservices.spec |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/dlls/webservices/channel.c b/dlls/webservices/channel.c
index d35da4e..523c247 100644
--- a/dlls/webservices/channel.c
+++ b/dlls/webservices/channel.c
@@ -1046,6 +1046,38 @@ done:
     return hr;
 }
 
+/**************************************************************************
+ *          WsReadMessageStart		[webservices.@]
+ */
+HRESULT WINAPI WsReadMessageStart( 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 = receive_message( channel )) == S_OK)
+    {
+        hr = WsReadEnvelopeStart( msg, channel->reader, NULL, NULL, NULL );
+    }
+
+    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 c55e304..7f23e73 100644
--- a/dlls/webservices/webservices.spec
+++ b/dlls/webservices/webservices.spec
@@ -114,7 +114,7 @@
 @ stdcall WsReadEnvelopeEnd(ptr ptr)
 @ stdcall WsReadEnvelopeStart(ptr ptr ptr ptr ptr)
 @ stub WsReadMessageEnd
-@ stub WsReadMessageStart
+@ stdcall WsReadMessageStart(ptr ptr ptr ptr)
 @ stub WsReadMetadata
 @ stdcall WsReadNode(ptr ptr)
 @ stub WsReadQualifiedName




More information about the wine-cvs mailing list