WsAcceptChannel 函式 (webservices.h)
接受來自指定 接聽程式的下一個傳入訊息。
語法
HRESULT WsAcceptChannel(
[in] WS_LISTENER *listener,
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
參數
[in] listener
表示接聽程式 之WS_LISTENER 結構的指標。 這是在建立通道時傳遞至 WsCreateChannelForListener 的接聽程式。
[in] channel
表示要接受之通道 之WS_CHANNEL 結構的指標。
[in, optional] asyncContext
具有異步叫用函式資訊 之WS_ASYNC_CONTEXT 數據結構的指標。 傳遞同步作業的 NULL 值。
[in, optional] error
WS_ERROR 結構的指標,如果函式失敗,則會接收其他錯誤資訊。
傳回值
如果函式成功,它會傳回NO_ERROR;否則,它會傳回 HRESULT 錯誤碼。
傳回碼 | Description |
---|---|
|
異步操作仍然擱置中。 |
|
接聽程式或通道已中止。 |
|
接聽程式發生錯誤。 請參閱<備註>一節。 |
|
接聽程式或通道或兩者處於不適當的狀態。 請參閱<備註>一節。 |
|
已終止與遠端端點的連線。 |
|
作業未在配置的時間內完成。 |
|
超過配額。 |
|
輸入數據的格式不正確,或沒有預期的值。 |
|
記憶體不足,無法完成作業。 |
|
一或多個自變數無效。 |
|
已接收數據的安全性驗證未成功。 |
|
Windows Web 服務架構中的安全性作業失敗。 |
|
此函式可能會傳回上述未列出的其他錯誤。 |
備註
接受通道之後,當您不再需要通道,並藉由呼叫 來釋放資源時,您必須將其關閉
WsCloseChannel 函式,然後呼叫 WsFreeChannel 或 WsResetChannel。
。
若要讓 WsAcceptChannel 成功,接聽程式必須處於WS_LISTENER_STATE_OPEN狀態,而且通道必須處於WS_CHANNEL_STATE_CREATED狀態。 如需詳細資訊,請參閱 WS_LISTENER_STATE 和 WS_CHANNEL_STATE 列舉。
如果接聽程式處於 WS_LISTENER_STATE_FAULTED 狀態,
WsAcceptChannel 會立即傳回 WS_E_OBJECT_FAULTED 錯誤碼。 如果應用程式在迴圈中呼叫 WsAcceptChannel ,應用程式必須檢查此錯誤,才能結束迴圈。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | webservices.h |
程式庫 | WebServices.lib |
Dll | WebServices.dll |