webservices: Implement WsWriteMessageStart.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hans Leidekker 2017-04-25 11:31:28 +02:00 committed by Alexandre Julliard
parent 84dcb316b9
commit 6d4f83162a
2 changed files with 33 additions and 1 deletions

View File

@ -1107,6 +1107,38 @@ HRESULT WINAPI WsReadMessageEnd( WS_CHANNEL *handle, WS_MESSAGE *msg, const WS_A
return hr;
}
/**************************************************************************
* WsWriteMessageStart [webservices.@]
*/
HRESULT WINAPI WsWriteMessageStart( 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 = init_writer( channel )) != S_OK) goto done;
if ((hr = WsAddressMessage( msg, &channel->addr, NULL )) != S_OK) goto done;
hr = WsWriteEnvelopeStart( msg, channel->writer, NULL, NULL, NULL );
done:
LeaveCriticalSection( &channel->cs );
return hr;
}
HRESULT channel_accept_tcp( SOCKET socket, WS_CHANNEL *handle )
{
struct channel *channel = (struct channel *)handle;

View File

@ -178,7 +178,7 @@
@ stdcall WsWriteEnvelopeEnd(ptr ptr)
@ stdcall WsWriteEnvelopeStart(ptr ptr ptr ptr ptr)
@ stub WsWriteMessageEnd
@ stub WsWriteMessageStart
@ stdcall WsWriteMessageStart(ptr ptr ptr ptr)
@ stdcall WsWriteNode(ptr ptr ptr)
@ stub WsWriteQualifiedName
@ stdcall WsWriteStartAttribute(ptr ptr ptr ptr long ptr)