webservices: Implement WsReadMessageStart.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
fe95de98b5
commit
ccdd9cb1ce
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user