WS_SERVICE_ACCEPT_CHANNEL_CALLBACK função de retorno de chamada (webservices.h)
Invocado quando um canal é aceito em um ouvinte de ponto de extremidade pelo host de serviço.
Para o contrato de serviço baseado em sessão, essa notificação significa a iniciação da sessão. Portanto, um estado de aplicativo com escopo para a sessão pode ser criado dentro desse retorno de chamada.
Sintaxe
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
O contexto da operação.
channelState
O retorno de chamada pode fornecer o estado do canal por meio desse parâmetro. Esse estado de canal é disponibilizado para a operação de serviço como parte de WS_OPERATION_CONTEXT por meio do WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE.
[in, optional] asyncContext
Informações sobre se a função está sendo invocada de forma assíncrona.
[in, optional] error
Especifica onde informações adicionais de erro devem ser armazenadas se a função falhar.
Retornar valor
Essa função de retorno de chamada não retorna um valor.
Comentários
Consulte também WS_SERVICE_CLOSE_CHANNEL_CALLBACK que pode ser usado pelo aplicativo para desassociar o estado e é chamado no fechamento do canal.
Esse retorno de chamada é cancelável.
Exemplos
Para obter um exemplo de implementação sobre como usar esse retorno de chamada para associar o estado da sessão, consulte o exemplo de calculadora baseada em sessão.
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | webservices.h |