Compartir a través de


Función WinHttpWebSocketQueryCloseStatus (winhttp.h)

La función WinHttpWebSocketQueryCloseStatus recupera el estado de cierre enviado por un servidor.

Sintaxis

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

Parámetros

[in] hWebSocket

Tipo: HINTERNET

Identificador de un WebSocket

[out] pusStatus

Tipo: USHORT*

Puntero a un código de estado de cierre que se rellenará al devolver. Consulte WINHTTP_WEB_SOCKET_CLOSE_STATUS para conocer los valores posibles.

[out] pvReason

Tipo: PVOID

Puntero a un búfer que recibirá un motivo de cierre al devolver.

[in] dwReasonLength

Tipo: DWORD

Longitud del búfer pvReason , en bytes.

[out] pdwReasonLengthConsumed

Tipo: DWORD*

Número de bytes consumidos. Si pvReason es NULL y dwReasonLength es 0, pdwReasonLengthConsumed contendrá el tamaño del búfer que debe asignar la aplicación que realiza la llamada.

Valor devuelto

Tipo: DWORD

NO_ERROR de éxito. De lo contrario, un código de error.

Descripción
ERROR_INSUFFICIENT_BUFFER
No hay suficiente espacio en pvReason para escribir toda la razón cercana.
ERROR_INVALID_OPERATION
Todavía no se ha recibido ningún marco de cierre.
ERROR_INVALID_PARAMETER
Si se devuelve este valor, significará que el parámetro en cuestión no es válido.

Comentarios

Llame a WinHttpWebSocketQueryCloseStatus solo después de que WinHttpWebSocketClose se realice correctamente o si WinHttpWebSocketReceive devuelve WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE.

pdwReasonLengthConsumed nunca será mayor que 123, por lo que la asignación de búfer con al menos 123 garantizará que nunca se devolverá ERROR_INSUFFICIENT_BUFFER .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winhttp.h
Library Winhttp.lib
Archivo DLL Winhttp.dll

Consulte también

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpWebSocketClose

WinHttpWebSocketReceive