Compartilhar via


Função WinHttpWebSocketQueryCloseStatus (winhttp.h)

A função WinHttpWebSocketQueryCloseStatus recupera o status de fechamento enviado por um servidor.

Sintaxe

WINHTTPAPI DWORD WinHttpWebSocketQueryCloseStatus(
  [in]  HINTERNET hWebSocket,
  [out] USHORT    *pusStatus,
  [out] PVOID     pvReason,
  [in]  DWORD     dwReasonLength,
  [out] DWORD     *pdwReasonLengthConsumed
);

Parâmetros

[in] hWebSocket

Tipo: HINTERNET

Manipular para um WebSocket

[out] pusStatus

Tipo: USHORT*

Um ponteiro para um código de status que será preenchido após o retorno. Confira WINHTTP_WEB_SOCKET_CLOSE_STATUS para obter valores possíveis.

[out] pvReason

Tipo: PVOID

Um ponteiro para um buffer que receberá um motivo próximo no retorno.

[in] dwReasonLength

Tipo: DWORD

O comprimento do buffer pvReason , em bytes.

[out] pdwReasonLengthConsumed

Tipo: DWORD*

O número de bytes consumidos. Se pvReason for NULL e dwReasonLength for 0, pdwReasonLengthConsumed conterá o tamanho do buffer que precisa ser alocado pelo aplicativo de chamada.

Retornar valor

Tipo: DWORD

NO_ERROR sobre o sucesso. Caso contrário, um código de erro.

Descrição
ERROR_INSUFFICIENT_BUFFER
Não há espaço suficiente em pvReason para escrever todo o motivo.
ERROR_INVALID_OPERATION
Nenhum quadro próximo foi recebido ainda.
ERROR_INVALID_PARAMETER
Um parâmetro é inválido.

Comentários

Chame WinHttpWebSocketQueryCloseStatus somente depois que WinHttpWebSocketClose for bem-sucedido ou se WinHttpWebSocketReceive retornar WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE.

pdwReasonLengthConsumed nunca será maior que 123, portanto, alocar buffer com pelo menos 123 garantirá que ERROR_INSUFFICIENT_BUFFER nunca serão retornados.

Requisitos

Requisito Valor
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 winhttp.h
Biblioteca Winhttp.lib
DLL Winhttp.dll

Confira também

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpWebSocketClose

WinHttpWebSocketReceive