Signed-off-by: Hans Leidekker hans@codeweavers.com --- dlls/webservices/msg.c | 27 +++++++++++++++++++++++++++ dlls/webservices/webservices.spec | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/dlls/webservices/msg.c b/dlls/webservices/msg.c index ada549c773..31c424b8f0 100644 --- a/dlls/webservices/msg.c +++ b/dlls/webservices/msg.c @@ -831,6 +831,33 @@ done: return hr; }
+/************************************************************************** + * WsFlushBody [webservices.@] + */ +HRESULT WINAPI WsFlushBody( WS_MESSAGE *handle, ULONG size, const WS_ASYNC_CONTEXT *ctx, WS_ERROR *error ) +{ + struct msg *msg = (struct msg *)handle; + HRESULT hr; + + TRACE( "%p %u %p %p\n", handle, size, ctx, error ); + + if (!msg) return E_INVALIDARG; + + EnterCriticalSection( &msg->cs ); + + if (msg->magic != MSG_MAGIC) + { + LeaveCriticalSection( &msg->cs ); + return E_INVALIDARG; + } + + hr = WsFlushWriter( msg->writer_body, size, ctx, error ); + + LeaveCriticalSection( &msg->cs ); + TRACE( "returning %08x\n", hr ); + return hr; +} + static BOOL match_current_element( WS_XML_READER *reader, const WS_XML_STRING *localname ) { const WS_XML_NODE *node; diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec index bd152b1ac3..c8db3a0375 100644 --- a/dlls/webservices/webservices.spec +++ b/dlls/webservices/webservices.spec @@ -46,7 +46,7 @@ @ stdcall WsFillBody(ptr long ptr ptr) @ stdcall WsFillReader(ptr long ptr ptr) @ stdcall WsFindAttribute(ptr ptr ptr long ptr ptr) -@ stub WsFlushBody +@ stdcall WsFlushBody(ptr long ptr ptr) @ stdcall WsFlushWriter(ptr long ptr ptr) @ stdcall WsFreeChannel(ptr) @ stdcall WsFreeError(ptr)