Función WsCreateChannel (webservices.h)

Crea un canal para el intercambio de mensajes con un punto de conexión.

Sintaxis

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
);

Parámetros

[in] channelType

El tipo de canal. Para los tipos de canal, consulte la enumeración WS_CHANNEL_TYPE . Representa el patrón de intercambio de mensajes para el canal que se va a crear.

[in] channelBinding

Enlace de canal, que indica la pila de protocolos que se va a usar para el nuevo canal. Para ver los enlaces de canal disponibles, consulte la enumeración WS_CHANNEL_BINDING .

[in] properties

Matriz de estructuras WS_CHANNEL_PROPERTY que contienen valores opcionales para la inicialización del canal. El valor de este parámetro puede ser NULL, en cuyo caso el parámetro propertyCount debe ser 0 (cero).

Para obtener información sobre qué propiedades de canal se pueden especificar al crear un canal, consulte la enumeración WS_CHANNEL_PROPERTY_ID .

Para obtener información sobre cómo crear un canal personalizado, consulte la sección Comentarios.

[in] propertyCount

Número de propiedades de la matriz de propiedades .

[in, optional] securityDescription

Puntero a una estructura de WS_SECURITY_DESCRIPTION que especifica la seguridad del canal.

Si va a crear un canal personalizado (mediante el valor WS_CUSTOM_CHANNEL_BINDING de la enumeración WS_CHANNEL_BINDING ), la descripción de seguridad debe ser NULL. Consulte la sección Comentarios.

channel

Puntero que recibe la dirección del canal creado.
Cuando el canal ya no sea necesario, debe liberarlo llamando a WsFreeChannel.

[in, optional] error

Puntero a una estructura de WS_ERROR que recibe información de error adicional si se produce un error en la función.

Valor devuelto

Si la función se realiza correctamente, devuelve NO_ERROR; de lo contrario, devuelve un código de error HRESULT.

Código devuelto Descripción
E_INVALIDARG
Uno o más argumentos no son válidos.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.
Otros errores
Esta función puede devolver otros errores no enumerados anteriormente.

Comentarios

Use la función WsOpenChannel para iniciar la comunicación en el canal y especificar el punto de conexión.

Al crear un canal personalizado (con el valor WS_CUSTOM_CHANNEL_BINDING de la enumeración WS_CHANNEL_BINDING ), solo puede especificar las siguientes propiedades de canal:

  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
(Consulte la enumeración WS_CHANNEL_PROPERTY_ID ) Si se requieren propiedades iniciales para crear el canal personalizado, especifíquelas mediante la propiedad WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS.

Para pasar información de seguridad a una implementación de canal personalizada, use el valor WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS de la enumeración WS_CHANNEL_PROPERTY_ID .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll