Функция 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_CUSTOM_CHANNEL_BINDING перечисления WS_CHANNEL_BINDING ), описание безопасности должно иметь значение NULL. См. раздел «Примечания».

channel

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

[in, optional] error

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

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

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

Код возврата Описание
E_INVALIDARG
Один или несколько аргументов являются недопустимыми.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.
Другие ошибки
Эта функция может возвращать другие ошибки, не перечисленные выше.

Комментарии

Используйте функцию WsOpenChannel , чтобы инициировать обмен данными по каналу и указать конечную точку.

При создании настраиваемого канала (используя значение WS_CUSTOM_CHANNEL_BINDING перечисления WS_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_CUSTOM_CHANNEL_PARAMETERS перечисления WS_CHANNEL_PROPERTY_ID .

Требования

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