WsCreateChannel 函数 (webservices.h)

创建用于与终结点进行消息交换的 通道

语法

HRESULT WsCreateChannel(
  [in]           WS_CHANNEL_TYPE               channelType,
  [in]           WS_CHANNEL_BINDING            channelBinding,
  [in]           const WS_CHANNEL_PROPERTY     *properties,
  [in]           ULONG                         propertyCount,
  [in, optional] const WS_SECURITY_DESCRIPTION *securityDescription,
                 WS_CHANNEL                    **channel,
  [in, optional] WS_ERROR                      *error
);

参数

[in] channelType

通道的类型。 有关通道类型,请参阅 WS_CHANNEL_TYPE 枚举。 这表示正在创建的通道的消息交换模式。

[in] channelBinding

通道 绑定,指示要用于新通道的协议堆栈。 有关可用通道绑定,请参阅 WS_CHANNEL_BINDING 枚举。

[in] properties

包含通道初始化的可选值的 WS_CHANNEL_PROPERTY 结构的数组。 此参数的值可以为 NULL,在这种情况下, propertyCount 参数必须为 0 (零) 。

有关创建通道时可以指定哪些通道属性的信息,请参阅 WS_CHANNEL_PROPERTY_ID 枚举。

有关创建自定义通道的信息,请参阅“备注”部分。

[in] propertyCount

属性数组中的 属性 数。

[in, optional] securityDescription

指向指定通道安全性 的WS_SECURITY_DESCRIPTION 结构的指针。

如果使用 WS_CHANNEL_BINDING 枚举) 的WS_CUSTOM_CHANNEL_BINDING值创建自定义通道 (,则安全说明必须为 NULL。 请参阅“备注”部分。

channel

接收所创建通道地址的指针。
当不再需要通道时,必须通过调用 WsFreeChannel 将其释放。

[in, optional] error

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

返回值

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

返回代码 说明
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足,无法完成操作。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

使用 WsOpenChannel 函数在通道上启动通信并指定终结点。

使用 WS_CHANNEL_BINDING 枚举) 的WS_CUSTOM_CHANNEL_BINDING值创建自定义通道 (时,只能指定以下通道属性:

  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
(请参阅 WS_CHANNEL_PROPERTY_ID 枚举) 如果需要初始属性来创建自定义通道,请使用 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS 属性指定它们。

若要将安全信息传递给自定义通道实现,请使用 WS_CHANNEL_PROPERTY_ID 枚举的 WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS 值。

要求

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