функция обратного вызова WS_SERVICE_ACCEPT_CHANNEL_CALLBACK (webservices.h)
Вызывается, когда узел службы принимает канал в прослушивателе конечной точки.
Для контракта службы на основе сеанса это уведомление означает запуск сеанса. Таким образом, в рамках этого обратного вызова можно создать состояние приложения, заданное для сеанса.
Синтаксис
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
)
{...}
Параметры
[in] context
Контекст операции.
channelState
Обратный вызов может предоставлять состояние канала с помощью этого параметра. Это состояние канала становится доступным для операции службы в рамках WS_OPERATION_CONTEXT через WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE.
[in, optional] asyncContext
Сведения о том, вызывается ли функция асинхронно.
[in, optional] error
Указывает, где должны храниться дополнительные сведения об ошибке в случае сбоя функции.
Возвращаемое значение
Эта функция обратного вызова не возвращает значение.
Комментарии
См. также WS_SERVICE_CLOSE_CHANNEL_CALLBACK , которые могут использоваться приложением для отмены связи с состоянием и вызываются при закрытии канала.
Этот обратный вызов можно отменить.
Примеры
Пример реализации использования этого обратного вызова для связывания состояния сеанса см. в примере калькулятора на основе сеанса.
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;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | webservices.h |