[1/5] webservices: Implement WsReadMessageStart.
Hans Leidekker
hans at codeweavers.com
Tue Apr 25 04:31:26 CDT 2017
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
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 d35da4e310..523c247161 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 c55e30445f..7f23e732a0 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
--
2.11.0
More information about the wine-patches
mailing list