WsCall 函数 (webservices.h)

服务代理在内部使用,根据指定的元数据设置指定参数的格式,并在消息中发送它们。 应用程序绝不应直接调用此函数。

语法

HRESULT WsCall(
  [in]           WS_SERVICE_PROXY               *serviceProxy,
  [in]           const WS_OPERATION_DESCRIPTION *operation,
  [in, optional] const void                     **arguments,
  [in]           WS_HEAP                        *heap,
                 const WS_CALL_PROPERTY         *callProperties,
  [in]           const ULONG                    callPropertyCount,
  [in, optional] const WS_ASYNC_CONTEXT         *asyncContext,
  [in, optional] WS_ERROR                       *error
);

参数

[in] serviceProxy

指向表示服务代理的WS_SERVICE_PROXY结构的指针。

[in] operation

指向包含调用元数据 的WS_OPERATION_DESCRIPTION 结构的指针。

[in, optional] arguments

指向由 操作 参数表示的服务操作的各个参数的指针数组。

元素数必须对应于作为操作参数中WS_OPERATION_DESCRIPTION一部分指定的参数数。

[in] heap

指向 WS_HEAP 结构的指针,该结构表示从中为调用分配内存的

callProperties

包含调用属性 的WS_CALL_PROPERTY 结构的数组。

[in] callPropertyCount

调用属性数组中的属性数。

[in, optional] asyncContext

指向用于异步调用函数的信息的指针。 传递 NULL 以同步调用函数。

[in, optional] error

指向 WS_ERROR 结构的指针,该结构在函数失败时接收其他错误信息。

返回值

如果函数成功,则返回NO_ERROR;否则,它将返回 HRESULT 错误代码。

返回代码 说明
WS_E_INVALID_OPERATION
由于 对象的当前状态,不允许此操作。
WS_E_QUOTA_EXCEEDED
超出配额。
WS_E_OPERATION_ABANDONED
该行动被放弃。
WS_E_OPERATION_TIMED_OUT
该操作未在分配的时间内完成。
E_OUTOFMEMORY
内存不足,无法完成操作。
E_INVALIDARG
一个或多个参数无效。
WS_S_ASYNC
异步操作仍处于挂起状态。
其他错误
此函数可能会返回上面未列出的其他错误。

要求

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