WsAcceptChannel, fonction (webservices.h)

Accepte le message entrant suivant de l’écouteur spécifié.

Syntaxe

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

Paramètres

[in] listener

Pointeur vers une structure WS_LISTENER représentant l’écouteur. Il s’agit de l’écouteur passé à WsCreateChannelForListener lors de la création du canal.

[in] channel

Pointeur vers une structure WS_CHANNEL représentant le canal à accepter.

[in, optional] asyncContext

Pointeur vers une structure de données WS_ASYNC_CONTEXT avec des informations permettant d’appeler la fonction de manière asynchrone. Transmettez une valeur NULL pour une opération synchrone.

[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, elle retourne un code d’erreur HRESULT.

Code de retour Description
WS_S_ASYNC
L’opération asynchrone est toujours en attente.
WS_E_OPERATION_ABORTED
L’écouteur ou le canal a été abandonné.
WS_E_OBJECT_FAULTED
L’écouteur a fait l’objet d’une erreur. Consultez la section Notes.
WS_E_INVALID_OPERATION
L’écouteur ou le canal ou les deux étaient dans un état inapproprié. Consultez la section Notes.
WS_E_ENDPOINT_DISCONNECTED
La connexion avec le point de terminaison distant a été interrompue.
WS_E_OPERATION_TIMED_OUT
L’opération ne s’est pas terminée dans le délai imparti.
WS_E_QUOTA_EXCEEDED
Un quota a été dépassé.
WS_E_INVALID_FORMAT
Les données d’entrée n’étaient pas au format attendu ou n’avaient pas la valeur attendue.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
WS_E_SECURITY_VERIFICATION_FAILURE
La vérification de sécurité n’a pas réussi pour les données reçues.
WS_E_SECURITY_SYSTEM_FAILURE
Une opération de sécurité a échoué dans l’infrastructure des services Web Windows.
Autres erreurs
Cette fonction peut retourner d’autres erreurs non répertoriées ci-dessus.

Remarques

Une fois que vous avez accepté un canal, vous devez le fermer lorsque vous n’en avez plus besoin et libérer les ressources en appelant le
Fonction WsCloseChannel , puis appelez WsFreeChannel ou WsResetChannel. CHANGETABLE(CHANGES ...).

Pour que WsAcceptChannel réussisse, l’écouteur doit être à l’état WS_LISTENER_STATE_OPEN et le canal doit être à l’état WS_CHANNEL_STATE_CREATED. Pour plus d’informations, consultez les énumérations WS_LISTENER_STATE et WS_CHANNEL_STATE .

Si un écouteur est dans l’état WS_LISTENER_STATE_FAULTED ,
WsAcceptChannel retourne immédiatement le code d’erreur WS_E_OBJECT_FAULTED . Si une application appelle WsAcceptChannel dans une boucle, l’application doit case activée pour cette erreur, afin qu’elle puisse mettre fin à la boucle.

Configuration requise

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