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