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


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

Принимает следующее входящее сообщение от указанного прослушивателя.

Синтаксис

HRESULT WsAcceptChannel(
  [in]           WS_LISTENER            *listener,
  [in]           WS_CHANNEL             *channel,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Параметры

[in] listener

Указатель на структуру WS_LISTENER , представляющую прослушиватель. Это прослушиватель, переданный в WsCreateChannelForListener при создании канала.

[in] channel

Указатель на структуру WS_CHANNEL , представляющую принимаемый канал.

[in, optional] asyncContext

Указатель на WS_ASYNC_CONTEXT структуру данных со сведениями для асинхронного вызова функции. Передайте значение NULL для синхронной операции.

[in, optional] error

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

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

Если функция завершается успешно, она возвращает NO_ERROR; в противном случае возвращается код ошибки HRESULT.

Код возврата Описание
WS_S_ASYNC
Асинхронная операция по-прежнему находится в состоянии ожидания.
WS_E_OPERATION_ABORTED
Прослушиватель или канал был прерван.
WS_E_OBJECT_FAULTED
Произошел сбой прослушивателя. См. раздел «Примечания».
WS_E_INVALID_OPERATION
Прослушиватель, канал или оба были в недопустимом состоянии. См. раздел «Примечания».
WS_E_ENDPOINT_DISCONNECTED
Подключение к удаленной конечной точке было прервано.
WS_E_OPERATION_TIMED_OUT
Операция не была завершена в отведенное время.
WS_E_QUOTA_EXCEEDED
Превышена квота.
WS_E_INVALID_FORMAT
Входные данные не были в ожидаемом формате или не имели ожидаемого значения.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.
WS_E_SECURITY_VERIFICATION_FAILURE
Проверка безопасности не прошла успешно для полученных данных.
WS_E_SECURITY_SYSTEM_FAILURE
Сбой операции безопасности в платформе веб-служб Windows.
Другие ошибки
Эта функция может возвращать другие ошибки, не перечисленные выше.

Комментарии

После принятия канала его необходимо закрыть, когда он больше не нужен, и освободить ресурсы, вызвав
Функция WsCloseChannel , а затем вызов WsFreeChannel или WsResetChannel. .

Для успешного выполнения WsAcceptChannel прослушиватель должен находиться в WS_LISTENER_STATE_OPEN состоянии, а канал должен находиться в состоянии WS_CHANNEL_STATE_CREATED. Дополнительные сведения см . в WS_LISTENER_STATE и перечислениях WS_CHANNEL_STATE .

Если прослушиватель находится в состоянии WS_LISTENER_STATE_FAULTED ,
WsAcceptChannel немедленно возвращает код ошибки WS_E_OBJECT_FAULTED . Если приложение вызывает WsAcceptChannel в цикле, приложение должно проверка для этой ошибки, чтобы завершить цикл.

Требования

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