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_PROPERTY_CHANNEL_USER_STATE作为WS_OPERATION_CONTEXT的一部分提供给服务操作。
[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 |
标头 | webservices.h |