WinHttpWebSocketShutdown 函数 (winhttp.h)

WinHttpWebSocketShutdown 函数将关闭帧发送到 WebSocket 服务器以关闭发送通道,但使接收通道保持打开状态。

语法

WINHTTPAPI DWORD WinHttpWebSocketShutdown(
  [in]           HINTERNET hWebSocket,
  [in]           USHORT    usStatus,
  [in, optional] PVOID     pvReason,
  [in]           DWORD     dwReasonLength
);

参数

[in] hWebSocket

类型: HINTERNET

WebSocket 的句柄。

注意WinHttpWebSocketShutdown 不会关闭此句柄。 若要关闭句柄,请在不再需要时在 hWebSocket 上调用 WinHttpCloseHandle

 

[in] usStatus

类型: USHORT

关闭状态代码。 有关可能的值 ,请参阅WINHTTP_WEB_SOCKET_CLOSE_STATUS

[in, optional] pvReason

类型: PVOID

收盘的详细原因。

[in] dwReasonLength

类型:DWORD

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

如果 pvReason 为 NULL,则此值必须为 0。 此值必须在 0 到 123 的范围内。

返回值

类型:DWORD

出现以下异常时,所有错误代码都指示基础 TCP 连接已中止。

说明
ERROR_IO_PENDING
操作将以异步方式完成。

注解

WinHttpWebSocketShutdown 发送一个关闭的帧,并阻止通过 WebSocket 连接发送其他数据。 它不会关闭接收通道。 如果要完全关闭连接并阻止任何后续接收操作,请使用 WinHttpWebSocketClose

应用程序负责通过常规接收操作) 从服务器 (接收关闭帧。

调用 WinHttpWebSocketShutdown 后,如果应用程序不想自行接收关闭帧并将其委托给堆栈,则应用程序可以调用 WinHttpWebSocketClose

要求

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

另请参阅

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpCloseHandle

WinHttpWebSocketClose