Поделиться через


Функция 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
Header webservices.h
Библиотека WebServices.lib
DLL WebServices.dll