WsOpenListener 函数 (webservices.h)

启动对指定地址的“侦听”。 打开侦听器后,可以从该侦听器接受通道。 如果打开成功,则必须使用 WsCloseListener 函数关闭侦听器,然后才能释放侦听器资源。

语法

HRESULT WsOpenListener(
  [in]           WS_LISTENER            *listener,
  [in]           const WS_STRING        *url,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

参数

[in] listener

指向要打开的 侦听器 对象的指针。 指针必须引用有效的 WS_LISTENER 对象,并且引用的值不能为 NULL

[in] url

指向包含侦听器 URL 地址字符串的 对象的指针。

注意 URL 始终采用转义形式。。 URL 不能包含查询字符串或片段。 此 URL 可以在主机名部分、主机名或文本 IP 地址中包含“+”或“*”通配符。 有关 URL 的详细信息,请参阅备注。
 

[in, optional] asyncContext

指向 WS_ASYNC_CONTEXT 对象的指针,该对象包含有关如何异步调用函数的信息。 如果以同步方式调用,则该值设置为 NULL

[in, optional] error

指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。

返回值

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

返回代码 说明
WS_S_ASYNC
异步操作仍处于挂起状态。
WS_E_OPERATION_ABORTED
侦听器在打开期间或打开之前中止。
WS_E_INVALID_OPERATION
侦听器处于错误状态。
WS_E_ADDRESS_IN_USE
地址已被使用。
WS_E_ADDRESS_NOT_AVAILABLE
地址对此上下文无效。
WS_E_QUOTA_EXCEEDED
超出配额。
WS_E_OPERATION_ABORTED
操作已中止。
WS_E_OPERATION_TIMED_OUT
该操作未在分配的时间内完成。
E_OUTOFMEMORY
内存不足。
E_INVALIDARG
一个或多个参数无效。
其他错误
此函数可能会返回上面未列出的其他错误。

注解

使用 IPv6 地址时,必须在主机名部分的方括号中将其括起来。

有关详细信息,请参阅 WS_HTTP_CHANNEL_BINDING

对于 WS_UDP_CHANNEL_BINDING,将忽略 URL 的路径部分。 如果指定了文本 IP 地址,则用于侦听,否则使用通配符 IP 地址。

对于 WS_TCP_CHANNEL_BINDING,URL 的路径部分将作为前缀与收到的 URL 进行匹配。
如果指定了文本 IP 地址,则用于侦听,否则使用通配符 IP 地址。

要求

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