WinHttpWebSocketReceive 函数 (winhttp.h)

WinHttpWebSocketReceive 函数从 WebSocket 连接接收数据。

语法

WINHTTPAPI DWORD WinHttpWebSocketReceive(
  [in]  HINTERNET                      hWebSocket,
  [out] PVOID                          pvBuffer,
  [in]  DWORD                          dwBufferLength,
  [out] DWORD                          *pdwBytesRead,
  [out] WINHTTP_WEB_SOCKET_BUFFER_TYPE *peBufferType
);

参数

[in] hWebSocket

类型: HINTERNET

WebSocket 的句柄。

[out] pvBuffer

类型: PVOID

指向用于接收数据的缓冲区的指针。

[in] dwBufferLength

类型:DWORD

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

[out] pdwBytesRead

类型: DWORD*

指向 DWORD 的指针,该 DWORD 接收操作结束时从连接读取的字节数。 仅当 WinHttpWebSocketReceive 返回 NO_ERROR 并且句柄在同步模式下打开时才设置。

[out] peBufferType

类型: WINHTTP_WEB_SOCKET_BUFFER_TYPE*

返回的缓冲区的类型。 仅当 WinHttpWebSocketReceive 返回 NO_ERROR 且句柄在同步模式下打开时,才会设置此设置。

返回值

类型:DWORD

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

说明
ERROR_INVALID_OPERATION
关闭或接收处于挂起状态,或者接收通道已关闭。
ERROR_INVALID_PARAMETER
参数无效。
ERROR_WINHTTP_INVALID_SERVER_RESPONSE
从服务器接收了无效数据。
ERROR_WINHTTP_OPERATION_CANCELLED
操作被取消,因为调用 WinHttpWebSocketClose 来关闭连接。

要求

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