WinHttpWebSocketQueryCloseStatus 函数 (winhttp.h)

WinHttpWebSocketQueryCloseStatus 函数检索服务器发送的关闭状态。

语法

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

参数

[in] hWebSocket

类型: HINTERNET

WebSocket 的句柄

[out] pusStatus

类型: USHORT*

指向将在返回时填充的关闭状态代码的指针。 有关可能的值 ,请参阅WINHTTP_WEB_SOCKET_CLOSE_STATUS

[out] pvReason

类型: PVOID

指向缓冲区的指针,该缓冲区将在返回时接收关闭原因。

[in] dwReasonLength

类型:DWORD

pvReason 缓冲区的长度(以字节为单位)。

[out] pdwReasonLengthConsumed

类型: DWORD*

使用的字节数。 如果 pvReasonNULLdwReasonLength 为 0, 则 pdwReasonLengthConsumed 将包含需要由调用应用程序分配的缓冲区的大小。

返回值

类型:DWORD

成功NO_ERROR 。 否则为错误代码。

说明
ERROR_INSUFFICIENT_BUFFER
pvReason 中没有足够的空间来编写整个接近原因。
ERROR_INVALID_OPERATION
尚未收到关闭的框架。
ERROR_INVALID_PARAMETER
参数无效。

注解

仅在 WinHttpWebSocketClose 成功后调用 WinHttpWebSocketQueryCloseStatus ,或者如果 WinHttpWebSocketReceive 返回 WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE

pdwReasonLengthConsumed 永远不会大于 123,因此分配至少为 123 的缓冲区将保证 永远不会返回ERROR_INSUFFICIENT_BUFFER

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 winhttp.h
Library Winhttp.lib
DLL Winhttp.dll

另请参阅

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpWebSocketClose

WinHttpWebSocketReceive