Eine Frage zur Interpretation der IOCP-Dokumentation - Mehrdeutigkeit des Puffereigentums

Da ich kein englischer Muttersprachler bin, fehlt mir möglicherweise etwas. Vielleicht weiß hier jemand mehr als ich.

Genommen von WSASend 's Dokumentation bei MSDN:

lpBuffers [in]

Ein Zeiger auf ein Array von WSABUF-Strukturen. Jede WSABUF-Struktur enthält einen Zeiger auf einen Puffer und die Länge des Puffers in Byte. Bei einer Winsock-Anwendung wird nach dem Aufruf der WSASend-Funktiondas System besitzt diese Puffer und die Anwendung kann möglicherweise nicht auf sie zugreifen. Dieses Array muss für die Dauer des Sendevorgangs gültig bleiben.

Ok, siehst du den fetten Text? Das ist die unklare Stelle!

Ich kann mir zwei Übersetzungen für diese Zeile vorstellen (könnte etwas anderes sein, du nennst es):
Übersetzung 1 - "Puffer" bezieht sich auf die OVERLAPPED-Struktur dass ich diese Funktion beim Aufruf übergebe. Ich kann das Objekt nur dann wieder verwenden, wenn ich eine Abschlussbenachrichtigung darüber erhalte.
Übersetzung 2 - "Puffer" beziehen sich auf die tatsächlichen Puffer, die mit den Daten, die ich sende. Wenn das WSABUF-Objekt auf einen Puffer zeigt, kann ich diesen Puffer erst berühren, wenn der Vorgang abgeschlossen ist.

Kann jemand sagen, was die richtige Interpretation zu dieser Zeile ist?

Und ..... Wenn die Antwort die zweite ist - wie würden Sie sie lösen?
Weil ich denke, dass ich für jeden Daten- / Puffer, den ich sende, eine Kopie davon auf der Absenderseite aufbewahren muss - also VIELE ausstehende Puffer (in verschiedenen Größen) in einer stark frequentierten Anwendung, was wirklich der Fall ist wird "Skalierbarkeit" verletzen.

Statement 1:
Neben dem obigen Absatz (dem "Und ...") dachte ich, dass IOCP die zu sendenden Daten in seinen eigenen Puffer kopiert und von dort sendet, sofern Sie nicht @ festlege SO_SNDBUF bis Null

Statement 2:
Ich verwende stapelzugeordnete Puffer (wissen Sie, so etwas wiechar cBuff[1024]; am Funktionskörper - Wenn die Übersetzung in die Hauptfrage die zweite Option ist (d. h. die Puffer müssen so bleiben, wie sie sind, bis der Sendevorgang abgeschlossen ist), dann ... bringt das die Dinge wirklich durcheinander! Können Sie sich eine Lösung vorstellen? (Ich weiß, ich habe es mit anderen Worten gefragt).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage