共用方式為


WebSocketEndClientHandshake 函式 (websocket.h)

WebSocketEndClientHandshake函式會完成用戶端交握。

語法

HRESULT WebSocketEndClientHandshake(
  [in]                WEB_SOCKET_HANDLE             hWebSocket,
  [in]                const PWEB_SOCKET_HTTP_HEADER pResponseHeaders,
  [in]                ULONG                         ulReponseHeaderCount,
  [in, out, optional] ULONG                         *pulSelectedExtensions,
  [in, out, optional] ULONG                         *pulSelectedExtensionCount,
  [in, out, optional] ULONG                         *pulSelectedSubprotocol
);

參數

[in] hWebSocket

類型: WEB_SOCKET_HANDLE

先前呼叫 WebSocketCreateClientHandle 所傳回的 WebSocket會話控制碼。

[in] pResponseHeaders

類型:const PWEB_SOCKET_HTTP_HEADER

包含應用程式所接收回應標頭 之WEB_SOCKET_HTTP_HEADER 結構的陣列指標。

[in] ulReponseHeaderCount

類型: ULONG

pResponseHeaders中的回應標頭數目。

[in, out, optional] pulSelectedExtensions

類型: ULONG*

在輸入時,指向應用程式所配置的陣列指標。 在成功輸出時,指標指向代表伺服器在用戶端-伺服器交握期間所選擇之延伸模組的數位陣列。 這些數位是傳遞至WebSocketBeginClientHandshakepszExtensions的延伸模組陣列中以零起始的索引。

[in, out, optional] pulSelectedExtensionCount

類型: ULONG*

在輸入時, pulSelectedExtensions中配置的延伸模組數目。 這必須至少等於傳遞至WebSocketEndClientHandshakeulExtensionCount的數位。 成功輸出時, pulSelectedExtensions中傳回的延伸模組數目。

[in, out, optional] pulSelectedSubprotocol

類型: ULONG*

在成功輸出時,指向代表伺服器在用戶端-伺服器交握期間所選擇子通訊協定的數位。 此數位是以零起始的索引,會傳遞至WebSocketBeginClientHandshake中的pszSubprotocols子通訊協定陣列。

傳回值

類型: HRESULT

如果函式成功,它會 傳回S_OK

如果函式失敗,它會傳回下列其中一個或 WinError.h 中定義的 系統錯誤碼

傳回碼 描述
E_INVALID_PROTOCOL_FORMAT
通訊協定資料的格式無效。
E_UNSUPPORTED_SUBPROTOCOL
伺服器不接受應用程式所指定的任何子通訊協定。
E_UNSUPPORTED_EXTENSION
伺服器不接受應用程式指定的擴充功能。

備註

您必須呼叫此函式,才能在先前呼叫 WebSocketBeginClientHandshake之後完成用戶端交握。 一旦用戶端-伺服器交握完成,應用程式可以使用會話函式。

規格需求

   
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 websocket.h
程式庫 Websocket.lib
Dll Websocket.dll

另請參閱

WEB_SOCKET_HTTP_HEADER

WebSocketBeginClientHandshake

WebSocketBeginServerHandshake

WebSocketEndServerHandshake