webservices: Implement WsWriteMessageStart.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
84dcb316b9
commit
6d4f83162a
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue