WsCloseChannel 函式 (webservices.h)
關閉指定的 通道。
語法
HRESULT WsCloseChannel(
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
參數
[in] channel
表示要關閉之通道 之WS_CHANNEL 結構的指標。
[in, optional] asyncContext
WS_ASYNC_CONTEXT數據結構的指標,其中包含異步叫用函式的資訊。 傳遞 NULL 值以同步呼叫函式。
[in, optional] error
如果函式失敗 ,則WS_ERROR 結構的指標,其中會儲存其他錯誤資訊。
傳回值
如果函式成功,它會傳回NO_ERROR;否則,它會傳回 HRESULT 錯誤碼。
傳回碼 | Description |
---|---|
|
異步操作仍然擱置中。 |
|
通道關閉已由呼叫 WsAbortChannel 中止,而通道關閉。 |
|
通道處於不適當的狀態 (請參閱一節) 。 |
|
已終止與遠端端點的連線。 |
|
遠端端點無法處理要求。 |
|
輸入數據的格式不正確,或沒有預期的值。 |
|
作業未在配置的時間內完成。 |
|
超過配額。 |
|
記憶體不足,無法完成作業。 |
|
一或多個引數無效。 |
|
此函式可能會傳回上述未列出的其他錯誤。 |
備註
如果您開啟通道或成功接受通道,則必須在不再需要通道時將其關閉。 通道關閉之後,就可以安全地釋放相關聯的資源。
通道關閉程式會等候任何已起始、擱置的 I/O 完成。
如果通道目前沒有正在讀取或寫入的訊息,通道會嘗試正常關機。 否則,通道本身上仍擱置的所有 I/O 都會中止,而且通道會執行無理關機。
如果通道嘗試正常關機但發生錯誤, WsCloseChannel 會傳回錯誤,但通道仍會關閉。
只有在通道處於WS_CHANNEL_STATE_OPEN或WS_CHANNEL_STATE_FAULTED狀態時,才允許此作業。
關閉通道會自動解除任何正在讀取或寫入之訊息的關聯。 因此,呼叫 WsCloseChannel) 之前,不需要呼叫 WsAbandonMessage。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |