Compartilhar via


Função WebSocketEndClientHandshake (websocket.h)

A função WebSocketEndClientHandshake conclui o handshake do lado do cliente.

Sintaxe

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
);

Parâmetros

[in] hWebSocket

Tipo: WEB_SOCKET_HANDLE

Identificador de sessão WebSocket retornado por uma chamada anterior para WebSocketCreateClientHandle.

[in] pResponseHeaders

Tipo: const PWEB_SOCKET_HTTP_HEADER

Ponteiro para uma matriz de estruturas de WEB_SOCKET_HTTP_HEADER que contêm os cabeçalhos de resposta recebidos pelo aplicativo.

[in] ulReponseHeaderCount

Tipo: ULONG

Número de cabeçalhos de resposta em pResponseHeaders.

[in, out, optional] pulSelectedExtensions

Tipo: ULONG*

Na entrada, ponteiro para uma matriz alocada pelo aplicativo. Na saída bem-sucedida, ponteiro para uma matriz de números que representam as extensões escolhidas pelo servidor durante o handshake cliente-servidor. Esses números são os índices baseados em zero na matriz de extensões passadas para pszExtensions em WebSocketBeginClientHandshake.

[in, out, optional] pulSelectedExtensionCount

Tipo: ULONG*

Na entrada, número de extensões alocadas em pulSelectedExtensions. Isso deve ser pelo menos igual ao número passado para ulExtensionCount em WebSocketEndClientHandshake. Na saída bem-sucedida, número de extensões retornadas em pulSelectedExtensions.

[in, out, optional] pulSelectedSubprotocol

Tipo: ULONG*

Na saída bem-sucedida, ponteiro para um número que representa o subprocurador escolhido pelo servidor durante o handshake cliente-servidor. Esse número é o índice baseado em zero na matriz de sub-protocolos passada para pszSubprotocols em WebSocketBeginClientHandshake.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará S_OK.

Se a função falhar, ela retornará um dos seguintes ou um código de erro do sistema definido em WinError.h.

Código de retorno Descrição
E_INVALID_PROTOCOL_FORMAT
Os dados do protocolo tinham um formato inválido.
E_UNSUPPORTED_SUBPROTOCOL
O servidor não aceita nenhum dos sub-protocolos especificados pelo aplicativo.
E_UNSUPPORTED_EXTENSION
O servidor não aceita extensões especificadas pelo aplicativo.

Comentários

Essa função deve ser chamada para concluir o handshake do lado do cliente após uma chamada anterior para WebSocketBeginClientHandshake. Depois que o handshake cliente-servidor for concluído, o aplicativo poderá usar as funções de sessão.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho websocket.h
Biblioteca Websocket.lib
DLL Websocket.dll

Confira também

WEB_SOCKET_HTTP_HEADER

WebSocketBeginClientHandshake

WebSocketBeginServerHandshake

WebSocketEndServerHandshake