[PATCH 1/7] webservices: Implement WsFillBody.
Hans Leidekker
hans at codeweavers.com
Tue Dec 4 06:57:26 CST 2018
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/webservices/msg.c | 27 +++++++++++++++++++++++++++
dlls/webservices/webservices.spec | 2 +-
include/webservices.h | 1 +
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/dlls/webservices/msg.c b/dlls/webservices/msg.c
index e28baa2693..ada549c773 100644
--- a/dlls/webservices/msg.c
+++ b/dlls/webservices/msg.c
@@ -999,6 +999,33 @@ HRESULT WINAPI WsReadBody( WS_MESSAGE *handle, const WS_ELEMENT_DESCRIPTION *des
}
/**************************************************************************
+ * WsFillBody [webservices.@]
+ */
+HRESULT WINAPI WsFillBody( 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 = WsFillReader( msg->reader_body, size, ctx, error );
+
+ LeaveCriticalSection( &msg->cs );
+ TRACE( "returning %08x\n", hr );
+ return hr;
+}
+
+/**************************************************************************
* WsInitializeMessage [webservices.@]
*/
HRESULT WINAPI WsInitializeMessage( WS_MESSAGE *handle, WS_MESSAGE_INITIALIZATION init,
diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec
index 30c97e3473..adad68dbdd 100644
--- a/dlls/webservices/webservices.spec
+++ b/dlls/webservices/webservices.spec
@@ -43,7 +43,7 @@
@ stub WsEndReaderCanonicalization
@ stub WsEndWriterCanonicalization
@ stdcall WsFileTimeToDateTime(ptr ptr ptr)
-@ stub WsFillBody
+@ stdcall WsFillBody(ptr long ptr ptr)
@ stdcall WsFillReader(ptr long ptr ptr)
@ stdcall WsFindAttribute(ptr ptr ptr long ptr ptr)
@ stub WsFlushBody
diff --git a/include/webservices.h b/include/webservices.h
index 6cafcc63d6..69e3c8a276 100644
--- a/include/webservices.h
+++ b/include/webservices.h
@@ -1622,6 +1622,7 @@ HRESULT WINAPI WsDateTimeToFileTime(const WS_DATETIME*, FILETIME*, WS_ERROR*);
HRESULT WINAPI WsDecodeUrl(const WS_STRING*, ULONG, WS_HEAP*, WS_URL**, WS_ERROR*);
HRESULT WINAPI WsEncodeUrl(const WS_URL*, ULONG, WS_HEAP*, WS_STRING*, WS_ERROR*);
HRESULT WINAPI WsFileTimeToDateTime(const FILETIME*, WS_DATETIME*, WS_ERROR*);
+HRESULT WINAPI WsFillBody(WS_MESSAGE*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, BOOL,
ULONG*, WS_ERROR*);
--
2.11.0
More information about the wine-devel
mailing list