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 |