WS_SERVICE_ACCEPT_CHANNEL_CALLBACK fonction de rappel (webservices.h)
Appelé lorsqu’un canal est accepté sur un écouteur de point de terminaison par l’hôte de service.
Pour le contrat de service basé sur une session, cette notification signifie l’initiation de la session. Ainsi, un état d’application délimité à la session peut être créé dans ce rappel.
Syntaxe
WS_SERVICE_ACCEPT_CHANNEL_CALLBACK WsServiceAcceptChannelCallback;
HRESULT WsServiceAcceptChannelCallback(
[in] const WS_OPERATION_CONTEXT *context,
void **channelState,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
)
{...}
Paramètres
[in] context
Contexte d'opération.
channelState
Le rappel peut fournir l’état du canal via ce paramètre. Cet état de canal est mis à la disposition de l’opération de service dans le cadre de WS_OPERATION_CONTEXT via le WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE.
[in, optional] asyncContext
Informations indiquant si la fonction est appelée de façon asynchrone.
[in, optional] error
Spécifie l’emplacement où des informations d’erreur supplémentaires doivent être stockées en cas d’échec de la fonction.
Valeur retournée
Cette fonction de rappel ne retourne pas de valeur.
Remarques
Consultez également WS_SERVICE_CLOSE_CHANNEL_CALLBACK qui peut être utilisée par l’application pour dissocier l’état et qui est appelée lors de la fermeture du canal.
Ce rappel est annulable.
Exemples
Pour obtenir un exemple d’implémentation sur l’utilisation de ce rappel pour associer l’état de session, consultez l’exemple de calculatrice basée sur la session.
HRESULT CALLBACK CreateSessionCalculator (const WS_OPERATION_CONTEXT* context, void** userChannelState,
const WS_ASYNC_CONTEXT* asyncContext, WS_ERROR* error)
{
SessionfullCalculator* calculator = new SessionfullCalculator ();
if (calculator != NULL)
*userChannelState = (void*) calculator;
else
return E_OUTOFMEMORY;
return NOERROR;
}
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 |