Функция WebSocketGetAction (websocket.h)
Функция WebSocketGetAction возвращает действие из вызова WebSocketSend, WebSocketReceive или WebSocketCompleteAction.
Синтаксис
HRESULT WebSocketGetAction(
[in] WEB_SOCKET_HANDLE hWebSocket,
[in] WEB_SOCKET_ACTION_QUEUE eActionQueue,
[in, out] WEB_SOCKET_BUFFER *pDataBuffers,
[in, out] ULONG *pulDataBufferCount,
[out] WEB_SOCKET_ACTION *pAction,
[out] WEB_SOCKET_BUFFER_TYPE *pBufferType,
[out, optional] PVOID *pvApplicationContext,
[out] PVOID *pvActionContext
);
Параметры
[in] hWebSocket
Тип: WEB_SOCKET_HANDLE
Дескриптор сеанса WebSocket, возвращенный предыдущим вызовом WebSocketCreateClientHandle или WebSocketCreateServerHandle.
[in] eActionQueue
Перечисление, указывающее, следует ли запрашивать очередь отправки, очередь получения или и то, и другое.
[in, out] pDataBuffers
Тип: WEB_SOCKET_BUFFER*
Указатель на массив WEB_SOCKET_BUFFER структур, содержащих данные буфера WebSocket.
[in, out] pulDataBufferCount
Тип: ULONG*
На входных данных указатель на значение, указывающее количество элементов в pDataBuffers. При успешном выводе — количество элементов, которые были фактически возвращены в pDataBuffers.
[out] pAction
Тип: WEB_SOCKET_ACTION*
При успешном выводе указатель на перечисление WEB_SOCKET_ACTION , указывающее действие, возвращаемое из запроса в очередь, определяется в eActionQueue.
[out] pBufferType
Тип: WEB_SOCKET_BUFFER_TYPE*
При успешном выводе указатель на перечисление WEB_SOCKET_BUFFER_TYPE , указывающее тип данных буфера веб-сокета, возвращаемых в pDataBuffers.
[out, optional] pvApplicationContext
Тип: PVOID*
При успешном выводе указателя на дескриптор контекста приложения. Возвращенный здесь контекст изначально был передан в WebSocketSend или WebSocketReceive. Параметр pvApplicationContext не задан, если pActionWEB_SOCKET_NO_ACTION или WEB_SOCKET_SEND_TO_NETWORK_ACTION при отправке pong в ответ на получение проверки связи.
[out] pvActionContext
Тип: PVOID*
При успешном выводе указатель на дескриптор контекста действия. Этот дескриптор передается в последующий вызов WebSocketCompleteAction.
Возвращаемое значение
Тип: HRESULT
Если функция завершается успешно, она возвращает S_OK.
Если функция завершается сбоем, она возвращает один из следующих кодов или системной ошибки , определенных в WinError.h.
Код возврата | Описание |
---|---|
|
Данные протокола имеют недопустимый формат. Возвращается только для операций получения. |
|
Протокол выполнил недопустимые операции. Возвращается только для операций получения. |
Комментарии
Каждый вызов WebSocketGetAction должен быть связан с вызовом WebSocketCompleteAction.
Если параметр ulBytesTransferredобъекта WebSocketCompleteAction отличается от суммы всех длин буферов для действия WEB_SOCKET_SEND_TO_NETWORK_ACTION или равен нулю для действия WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION , приложение WebSocket не будет отправлять или получать все запрошенные данные.
WebSocketGetAction возвращает в pAction:
- WEB_SOCKET_INDICATE_SEND_COMPLETE_ACTION после завершения операции WebSocketSend .
- WEB_SOCKET_INDICATE_RECEIVE_COMPLETE_ACTION после завершения операции, помещенной в очередь WebSocketReceive .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | websocket.h |
Библиотека | Websocket.lib |
DLL | Websocket.dll |