WebSocketCompleteAction 函数 (websocket.h)
WebSocketCompleteAction 函数完成由 WebSocketGetAction 启动的操作。
语法
void WebSocketCompleteAction(
[in] WEB_SOCKET_HANDLE hWebSocket,
[in] PVOID pvActionContext,
[in] ULONG ulBytesTransferred
);
参数
[in] hWebSocket
以前调用 WebSocketCreateClientHandle 或 WebSocketCreateServerHandle 返回 的 WebSocket 会话句柄。
[in] pvActionContext
类型: PVOID
指向之前调用 WebSocketGetAction 返回的操作上下文句柄的指针。
[in] ulBytesTransferred
类型: ULONG
为 WEB_SOCKET_SEND_TO_NETWORK_ACTION 或 WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION 操作传输的字节数。 对于所有其他操作,此值必须为 0。
返回值
如果函数成功,则返回 S_OK。
如果函数失败,它将返回 WinError.h 中定义的 系统错误代码 。
注解
每次对 WebSocketGetAction 的 调用都必须与对 WebSocketCompleteAction 的调用配对。 对于以下网络操作,可能会出现 I/O 错误:
- WEB_SOCKET_SEND_TO_NETWORK_ACTION:如果 ulBytesTransferred 不同于从 WebSocketGetAction 返回的所有缓冲区长度之和,则取消当前发送操作,并且下一次调用 WebSocketGetAction 将返回 WEB_SOCKET_INDICATE_SEND_COMPLETE_ACTION 即使未处理传递给 WebSocketSend 的所有缓冲区也是如此。
- WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION:如果 ulBytesTransferred 为 0,则取消当前接收操作,并且下一次调用 WebSocketGetAction 将返回 WEB_SOCKET_INDICATE_RECEIVE_COMPLETE_ACTION 即使未处理传递给 WebSocketReceive 的所有缓冲区。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | websocket.h |
Library | Websocket.lib |
DLL | Websocket.dll |