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
WebSocketCreateClientHandle または WebSocketCreateServerHandle の以前の呼び出しによって返された WebSocket セッション ハンドル。
[in] eActionQueue
送信キュー、受信キュー、またはその両方に対してクエリを実行するかどうかを指定する列挙。
[in, out] pDataBuffers
種類: WEB_SOCKET_BUFFER*
WebSocket バッファー データを含む WEB_SOCKET_BUFFER 構造体の配列へのポインター。
[in, out] pulDataBufferCount
種類: ULONG*
入力時に、 pDataBuffers 内の要素の数を指定する値へのポインター。 正常に出力された場合、 pDataBuffers で実際に返された要素の数。
[out] pAction
種類: WEB_SOCKET_ACTION*
正常に出力されると、クエリからキューに返されるアクションを指定する WEB_SOCKET_ACTION 列挙へのポインターが eActionQueue で定義されます。
[out] pBufferType
正常に出力された場合は、pDataBuffers で返される Web ソケット バッファー データの種類を指定するWEB_SOCKET_BUFFER_TYPE列挙へのポインター。
[out, optional] pvApplicationContext
種類: PVOID*
正常に出力された場合は、アプリケーション コンテキスト ハンドルへのポインター。 ここで返されたコンテキストは、最初に WebSocketSend または WebSocketReceive に渡されました。 ping の受信に応答してポンを送信するときに pAction がWEB_SOCKET_NO_ACTIONまたはWEB_SOCKET_SEND_TO_NETWORK_ACTION場合、pvApplicationContext は設定されません。
[out] pvActionContext
種類: PVOID*
正常に出力された場合は、アクション コンテキスト ハンドルへのポインター。 このハンドルは、後続の呼び出し WebSocketCompleteAction に渡されます。
戻り値
型: HRESULT
関数が成功した場合は、S_OK を返します。
関数が失敗した場合は、WinError.h で定義されている次のいずれかの システム エラー コード が返されます。
リターン コード | 説明 |
---|---|
|
プロトコル データの形式が無効です。 これは、受信操作の場合にのみ返されます。 |
|
プロトコルで無効な操作が実行されました。 これは、受信操作の場合にのみ返されます。 |
注釈
WebSocketGetAction の各呼び出しは、WebSocketCompleteAction の呼び出しとペアにする必要があります。
WebSocketCompleteAction の ulBytesTransferred パラメーターが、WEB_SOCKET_SEND_TO_NETWORK_ACTION アクションのすべてのバッファー長の合計と異なる場合、または WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION アクションの場合、WebSocket アプリケーションは要求されたすべてのデータを送受信しません。
WebSocketGetAction は pAction で返されます。
- WebSocketSend によってキューに登録された操作が完了したら、WEB_SOCKET_INDICATE_SEND_COMPLETE_ACTIONします。
- WebSocketReceive によってキューに登録された操作が完了したら、WEB_SOCKET_INDICATE_RECEIVE_COMPLETE_ACTIONします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | websocket.h |
Library | Websocket.lib |
[DLL] | Websocket.dll |