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 |
---|---|
|
Un ou plusieurs arguments ne sont pas valides. |
|
Mémoire insuffisante pour terminer l’opération. |
|
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
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 |