Share via


WebSocketGetAction-Funktion (websocket.h)

Die WebSocketGetAction-Funktion gibt eine Aktion aus einem Aufruf von WebSocketSend, WebSocketReceive oder WebSocketCompleteAction zurück.

Syntax

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

Typ: WEB_SOCKET_HANDLE

WebSocket-Sitzungshandle, das von einem vorherigen Aufruf von WebSocketCreateClientHandle oder WebSocketCreateServerHandle zurückgegeben wurde.

[in] eActionQueue

Typ: WEB_SOCKET_ACTION_QUEUE

Enumeration, die angibt, ob die Sendewarteschlange, die Empfangswarteschlange oder beides abfragt werden soll.

[in, out] pDataBuffers

Typ: WEB_SOCKET_BUFFER*

Zeiger auf ein Array von WEB_SOCKET_BUFFER Strukturen, die WebSocket-Pufferdaten enthalten.

Hinweis Zuordnen oder Aufheben der Zuordnung von Arbeitsspeicher für WEB_SOCKET_BUFFER-Strukturen nicht, da sie von WebSocketGetAction überschrieben werden. Der Von WebSocketGetAction zurückgegebene Arbeitsspeicher für Puffer wird von der Bibliothek verwaltet.
 

[in, out] pulDataBufferCount

Typ: ULONG*

Zeigen Sie bei der Eingabe auf einen Wert, der die Anzahl der Elemente in pDataBuffers angibt. Bei erfolgreicher Ausgabe die Anzahl der Elemente, die tatsächlich in pDataBuffers zurückgegeben wurden.

[out] pAction

Typ: WEB_SOCKET_ACTION*

Bei erfolgreicher Ausgabe wird der Zeiger auf eine WEB_SOCKET_ACTION Enumeration, die die aktion angibt, die von der Abfrage an die Warteschlange zurückgegeben wird, in eActionQueue definiert.

[out] pBufferType

Typ: WEB_SOCKET_BUFFER_TYPE*

Zeigen Sie bei erfolgreicher Ausgabe auf eine WEB_SOCKET_BUFFER_TYPE Enumeration, die den Typ der in pDataBuffers zurückgegebenen Web Socket-Pufferdaten angibt.

[out, optional] pvApplicationContext

Typ: PVOID*

Zeigen Sie bei erfolgreicher Ausgabe auf ein Anwendungskontexthandle. Der hier zurückgegebene Kontext wurde zunächst an WebSocketSend oder WebSocketReceive übergeben. pvApplicationContext wird nicht festgelegt, wenn pActionbeim Senden eines Pongs als Reaktion auf den Empfang eines Pings WEB_SOCKET_NO_ACTION oder WEB_SOCKET_SEND_TO_NETWORK_ACTION ist.

[out] pvActionContext

Typ: PVOID*

Zeigen Sie bei erfolgreicher Ausgabe auf ein Aktionskontexthandle. Dieses Handle wird an einen nachfolgenden WebSocketCompleteAction-Aufruf übergeben.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird S_OK zurückgegeben.

Wenn die Funktion fehlschlägt, gibt sie einen der folgenden oder einen in WinError.h definierten Systemfehlercode zurück.

Rückgabecode Beschreibung
E_INVALID_PROTOCOL_FORMAT
Protokolldaten weisen ein ungültiges Format auf. Dies wird nur für Empfangsvorgänge zurückgegeben.
E_INVALID_PROTOCOL_OPERATION
Das Protokoll hat ungültige Vorgänge ausgeführt. Dies wird nur für Empfangsvorgänge zurückgegeben.

Hinweise

Jeder Aufruf von WebSocketGetAction muss mit einem Aufruf von WebSocketCompleteAction gekoppelt werden.

Wenn sich der ulBytesTransferred-Parameter von WebSocketCompleteAction von der Summe aller Pufferlängen für die WEB_SOCKET_SEND_TO_NETWORK_ACTION-Aktion oder null für die WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION-Aktion unterscheidet, sendet oder empfängt die WebSocket-Anwendung nicht alle angeforderten Daten.

WebSocketGetAction gibt in pAction zurück:

Es kann jeweils nur ein ausstehender Sende- und Empfangsvorgang vorhanden sein, sodass die nächste Aktion zurückgegeben wird, sobald die vorherige Aktion mithilfe von WebSocketCompleteAction abgeschlossen wurde.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile websocket.h
Bibliothek Websocket.lib
DLL Websocket.dll

Weitere Informationen

WEB_SOCKET_ACTION

WEB_SOCKET_ACTION_QUEUE

WEB_SOCKET_BUFFER_TYPE

WebSocketCompleteAction

WebSocketReceive

WebSocketSend