Bagikan melalui


Fungsi WebSocketGetAction (websocket.h)

Fungsi WebSocketGetAction mengembalikan tindakan dari panggilan ke WebSocketSend, WebSocketReceive atau WebSocketCompleteAction.

Sintaks

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
);

Parameter

[in] hWebSocket

Jenis: WEB_SOCKET_HANDLE

Handel sesi WebSocket yang dikembalikan oleh panggilan sebelumnya ke WebSocketCreateClientHandle atau WebSocketCreateServerHandle.

[in] eActionQueue

Jenis: WEB_SOCKET_ACTION_QUEUE

Enumerasi yang menentukan apakah akan mengkueri antrean kirim, antrean terima, atau keduanya.

[in, out] pDataBuffers

Jenis: WEB_SOCKET_BUFFER*

Penunjuk ke array struktur WEB_SOCKET_BUFFER yang berisi data buffer WebSocket.

Catatan Jangan alokasikan atau batalkan alokasi memori untuk struktur WEB_SOCKET_BUFFER , karena akan ditimpa oleh WebSocketGetAction. Memori untuk buffer yang dikembalikan oleh WebSocketGetAction dikelola oleh pustaka.
 

[in, out] pulDataBufferCount

Jenis: ULONG*

Pada input, arahkan ke nilai yang menentukan jumlah elemen dalam pDataBuffers. Pada output yang berhasil, jumlah elemen yang benar-benar dikembalikan dalam pDataBuffers.

[out] pAction

Jenis: WEB_SOCKET_ACTION*

Pada output yang berhasil, arahkan ke enumerasi WEB_SOCKET_ACTION yang menentukan tindakan yang dikembalikan dari kueri ke antrean yang ditentukan dalam eActionQueue.

[out] pBufferType

Jenis: WEB_SOCKET_BUFFER_TYPE*

Pada output yang berhasil, arahkan ke enumerasi WEB_SOCKET_BUFFER_TYPE yang menentukan jenis data buffer Soket Web yang dikembalikan di pDataBuffers.

[out, optional] pvApplicationContext

Jenis: PVOID*

Pada output yang berhasil, arahkan ke handel konteks aplikasi. Konteks yang dikembalikan di sini awalnya diteruskan ke WebSocketSend atau WebSocketReceive. pvApplicationContext tidak diatur jika pActionWEB_SOCKET_NO_ACTION atau WEB_SOCKET_SEND_TO_NETWORK_ACTION saat mengirim pong sebagai respons untuk menerima ping.

[out] pvActionContext

Jenis: PVOID*

Pada output yang berhasil, arahkan ke handel konteks tindakan. Handel ini diteruskan ke panggilan berikutnya WebSocketCompleteAction.

Mengembalikan nilai

Jenis: HRESULT

Jika fungsi berhasil, fungsi akan mengembalikan S_OK.

Jika fungsi gagal, fungsi mengembalikan salah satu dari kode kesalahan berikut atau sistem yang ditentukan dalam WinError.h.

Menampilkan kode Deskripsi
E_INVALID_PROTOCOL_FORMAT
Data protokol memiliki format yang tidak valid. Ini hanya dikembalikan untuk menerima operasi.
E_INVALID_PROTOCOL_OPERATION
Protokol melakukan operasi yang tidak valid. Ini hanya dikembalikan untuk menerima operasi.

Keterangan

Setiap panggilan ke WebSocketGetAction harus dipasangkan dengan panggilan ke WebSocketCompleteAction.

Jika parameter ulBytesTransferredwebSocketCompleteAction berbeda dari jumlah semua panjang buffer untuk tindakan WEB_SOCKET_SEND_TO_NETWORK_ACTION atau nol untuk tindakan WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION , aplikasi WebSocket tidak akan mengirim atau menerima semua data yang diminta.

WebSocketGetAction akan kembali dalam pAction:

Mungkin hanya ada satu operasi kirim dan terima yang luar biasa pada satu waktu, sehingga tindakan berikutnya akan dikembalikan setelah yang sebelumnya selesai menggunakan WebSocketCompleteAction.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2012 [hanya aplikasi desktop]
Target Platform Windows
Header websocket.h
Pustaka Websocket.lib
DLL Websocket.dll

Lihat juga

WEB_SOCKET_ACTION

WEB_SOCKET_ACTION_QUEUE

WEB_SOCKET_BUFFER_TYPE

WebSocketCompleteAction

WebSocketReceive

WebSocketSend