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


Функция WsOpenChannel (webservices.h)

Откройте канал к конечной точке.

Синтаксис

HRESULT WsOpenChannel(
  [in]           WS_CHANNEL                *channel,
  [in]           const WS_ENDPOINT_ADDRESS *endpointAddress,
  [in, optional] const WS_ASYNC_CONTEXT    *asyncContext,
  [in, optional] WS_ERROR                  *error
);

Параметры

[in] channel

Канал для открытия.

[in] endpointAddress

Адрес конечной точки.

[in, optional] asyncContext

Сведения об асинхронном вызове функции или значении NULL при синхронном вызове.

[in, optional] error

Указывает, где должны храниться дополнительные сведения об ошибке в случае сбоя функции.

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Код возврата Описание
WS_S_ASYNC
Асинхронная операция по-прежнему находится в состоянии ожидания.
WS_E_OPERATION_ABORTED
Операция была прервана.
WS_E_INVALID_OPERATION
Операция не разрешена из-за текущего состояния объекта .
WS_E_ENDPOINT_NOT_FOUND
Удаленная конечная точка не существует или не может быть найдена.
WS_E_ENDPOINT_ACCESS_DENIED
Удаленная конечная точка запретила доступ.
WS_E_ENDPOINT_DISCONNECTED
Подключение к удаленной конечной точке было прервано.
WS_E_ENDPOINT_FAILURE
Удаленной конечной точке не удалось обработать запрос.
WS_E_ENDPOINT_NOT_AVAILABLE
Удаленная конечная точка в настоящее время не обслуживается в этом расположении.
WS_E_ENDPOINT_TOO_BUSY
Удаленная конечная точка не может обработать запрос из-за перегрузки.
WS_E_ENDPOINT_UNREACHABLE
Удаленная конечная точка недоступна.
WS_E_INVALID_ENDPOINT_URL
Недопустимый URL-адрес конечной точки.
WS_E_INVALID_FORMAT
Входные данные не были в ожидаемом формате или не имели ожидаемого значения.
WS_E_OPERATION_TIMED_OUT
Операция не была завершена в отведенное время.
WS_E_PROXY_ACCESS_DENIED
Прокси-сервер HTTP отказал в доступе.
WS_E_PROXY_FAILURE
Прокси-серверу HTTP не удалось обработать запрос.
WS_E_QUOTA_EXCEEDED
Превышена квота.
WS_E_SECURITY_VERIFICATION_FAILURE
Проверка безопасности не прошла успешно для полученных данных.
WS_E_SECURITY_SYSTEM_FAILURE
Сбой операции безопасности в платформе веб-служб Windows.
WS_E_PROXY_REQUIRES_BASIC_AUTH
Для прокси-сервера HTTP требуется базовая схема проверки подлинности HTTP.
WS_E_PROXY_REQUIRES_DIGEST_AUTH
Для прокси-сервера HTTP требуется схема проверки подлинности HTTP "digest".
WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH
Для прокси-сервера HTTP требуется схема проверки подлинности HTTP negotiate.
WS_E_PROXY_REQUIRES_NTLM_AUTH
Для прокси-сервера HTTP требуется схема проверки подлинности HTTP NTLM.
WS_E_SERVER_REQUIRES_BASIC_AUTH
Для удаленной конечной точки требуется базовая схема проверки подлинности HTTP.
WS_E_SERVER_REQUIRES_DIGEST_AUTH
Для удаленной конечной точки требуется схема проверки подлинности HTTP "digest".
WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH
Для удаленной конечной точки требуется схема проверки подлинности HTTP negotiate.
WS_E_SERVER_REQUIRES_NTLM_AUTH
Для удаленной конечной точки требуется схема проверки подлинности HTTP NTLM.
E_OUTOFMEMORY
Не хватает памяти.
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.
Другие ошибки
Эта функция может возвращать другие ошибки, не перечисленные выше.

Комментарии

Если открытие выполнено успешно, канал необходимо закрыть с помощью WsCloseChannel , прежде чем его можно будет освободить.

Используйте WsCreateChannel для создания канала.

После открытия канала к конечной точке происходит весь обмен данными с этой конечной точкой.

Адрес конечной точки и его содержимое не требуются после возврата функции, даже если функция вызывается асинхронно (например, ее можно безопасно объявить в стеке).

То, происходит ли во время этого вызова какой-либо операции ввода-вывода, зависит от типа канала и его параметров.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header webservices.h
Библиотека WebServices.lib
DLL WebServices.dll