WsShutdownSessionChannel 函式 (webservices.h)

用來發出會話通道訊息結尾的訊號。

語法

HRESULT WsShutdownSessionChannel(
  [in]           WS_CHANNEL             *channel,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

參數

[in] channel

要關閉的會話通道。

[in, optional] asyncContext

如何以異步方式叫用函式的資訊,如果以同步方式叫用,則為 NULL

[in, optional] error

指定函式失敗時應該儲存其他錯誤資訊的位置。

傳回值

此函式可以傳回其中一個值。

傳回碼 Description
WS_E_INVALID_OPERATION
如果通道不是處於 WS_CHANNEL_STATE_OPEN 狀態,就會傳回這個值。

備註

此函式會向遠端合作物件指出已針對通道傳送所有訊息。

遠端合作物件可以在接收訊息時尋找 WS_S_END 傳回值,以偵測通道上沒有其他訊息可用。 (請參閱 Windows Web Services 傳回值.) 不過,如果通道篩選了非應用程式訊息,通道已篩選訊息,則訊息也可能變成無法使用,如通道 層概觀中所述。 會話關機可以透過追蹤是否收到先前的訊息,來區別訊息篩選。 如果收到先前的訊息,則會話已關閉。

此函式僅適用於使用支援傳送訊息之工作階段的 WS_CHANNEL_TYPE 所建立的通道:

通道必須處於 WS_CHANNEL_STATE_OPEN 狀態。

如果此函式成功, 則WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN 屬性值會是 TRUE

會話通道關閉之後,嘗試在通道上傳送訊息,或嘗試關閉通道將會傳回 WS_E_INVALID_OPERATION

呼叫此函式是選擇性的。 當工作階段通道在WS_CHANNEL_STATE_OPEN時使用 WsCloseChannel 關閉時,通道會自動關閉為關閉程式的一部分。

規格需求

需求
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll