WS_SERVICE_ACCEPT_CHANNEL_CALLBACK función de devolución de llamada (webservices.h)
Se invoca cuando el host de servicio acepta un canal en un agente de escucha de punto de conexión.
En el caso del contrato de servicio basado en sesión, esta notificación indica el inicio de la sesión. Por lo tanto, se puede crear un estado de aplicación para la sesión dentro de esta devolución de llamada.
Sintaxis
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
)
{...}
Parámetros
[in] context
El contexto de la operación.
channelState
La devolución de llamada puede proporcionar el estado del canal a través de este parámetro. Este estado del canal está disponible para la operación de servicio como parte de WS_OPERATION_CONTEXT a través del WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE.
[in, optional] asyncContext
Información sobre si la función se invoca de forma asincrónica.
[in, optional] error
Especifica dónde se debe almacenar información de error adicional si se produce un error en la función.
Valor devuelto
Esta función de devolución de llamada no devuelve un valor.
Comentarios
Consulte también WS_SERVICE_CLOSE_CHANNEL_CALLBACK que la aplicación puede usar para desasociar el estado y se llama a en el cierre del canal.
Esta devolución de llamada se puede cancelar.
Ejemplos
Para obtener un ejemplo de implementación sobre cómo usar esta devolución de llamada para asociar el estado de sesión, consulte el ejemplo de calculadora basada en sesión.
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;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | webservices.h |