Fonction WsCreateChannel (webservices.h)

Crée un canal pour l’échange de messages avec un point de terminaison.

Syntaxe

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

Paramètres

[in] channelType

Type du canal. Pour connaître les types de canaux, consultez l’énumération WS_CHANNEL_TYPE . Cela représente le modèle d’échange de messages pour le canal en cours de création.

[in] channelBinding

Liaison de canal, indiquant la pile de protocoles à utiliser pour le nouveau canal. Pour connaître les liaisons de canal disponibles, consultez l’énumération WS_CHANNEL_BINDING .

[in] properties

Tableau de structures WS_CHANNEL_PROPERTY contenant des valeurs facultatives pour l’initialisation de canal. La valeur de ce paramètre peut être NULL, auquel cas, le paramètre propertyCount doit être égal à 0 (zéro).

Pour plus d’informations sur les propriétés de canal qui peuvent être spécifiées lorsque vous créez un canal, consultez l’énumération WS_CHANNEL_PROPERTY_ID .

Pour plus d’informations sur la création d’un canal personnalisé, consultez la section Remarques.

[in] propertyCount

Nombre de propriétés dans le tableau de propriétés .

[in, optional] securityDescription

Pointeur vers une structure WS_SECURITY_DESCRIPTION spécifiant la sécurité du canal.

Si vous créez un canal personnalisé (à l’aide de la valeur WS_CUSTOM_CHANNEL_BINDING de l’énumération WS_CHANNEL_BINDING ), la description de sécurité doit être NULL. Consultez la section Notes.

channel

Pointeur qui reçoit l’adresse du canal créé.
Lorsque le canal n’est plus nécessaire, vous devez le libérer en appelant WsFreeChannel.

[in, optional] error

Pointeur vers une structure de WS_ERROR qui reçoit des informations d’erreur supplémentaires en cas d’échec de la fonction.

Valeur retournée

Si la fonction réussit, elle retourne NO_ERROR ; sinon, il retourne un code d’erreur HRESULT.

Code de retour Description
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Remarques

Utilisez la fonction WsOpenChannel pour lancer la communication sur le canal et spécifier le point de terminaison.

Lorsque vous créez un canal personnalisé (à l’aide de la valeur WS_CUSTOM_CHANNEL_BINDING de l’énumération WS_CHANNEL_BINDING ), vous pouvez spécifier uniquement les propriétés de canal suivantes :

  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS
  • WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS
(Voir l’énumération WS_CHANNEL_PROPERTY_ID ) Si des propriétés initiales sont requises pour créer le canal personnalisé, spécifiez-les à l’aide de la propriété WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS.

Pour transmettre des informations de sécurité à une implémentation de canal personnalisé, utilisez la valeur WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS de l’énumération WS_CHANNEL_PROPERTY_ID .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll