WsPullBytes 函数 (webservices.h)

设置要调用的回调,以获取要写入元素中的字节。
在某些编码中,可以通过消除数据副本来提高效率。

语法

HRESULT WsPullBytes(
  [in]           WS_XML_WRITER          *writer,
  [in]           WS_PULL_BYTES_CALLBACK callback,
  [in, optional] void                   *callbackState,
  [in, optional] WS_ERROR               *error
);

参数

[in] writer

要向其写入字节的编写器。

[in] callback

在写入二进制数据时要调用的回调。

[in, optional] callbackState

要传递给回调的用户定义状态。

[in, optional] error

指定函数失败时应存储其他错误信息的位置。

返回值

此函数可以返回其中一个值。

返回代码 说明
E_INVALIDARG
一个或多个参数无效。
WS_E_INVALID_OPERATION
由于对象的当前状态,不允许该操作。
WS_E_QUOTA_EXCEEDED
超出配额。

注解

WsWriteBytesWsPushBytes 需要向编写器提供数据的缓冲区。 在某些使用模式中,这可能需要额外的数据副本。 对于这些方案, WsPullBytes 提供了一种方法来请求编写器提供必须填充数据的缓冲区。

如果编码无法利用此行为,则 WsPullBytes 将立即调用回调,并像对生成的数据调用 WsWriteBytes 一样运行。

要求

   
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 webservices.h
Library WebServices.lib
DLL WebServices.dll