PFN_WSK_CONNECT_EX Rückruffunktion (wsk.h)
Die WskConnectEx--Funktion verbindet einen verbindungsorientierten oder Streamsocket mit einer Remote-Transportadresse.
WskConnectEx- ähnelt WskConnect-, mit der Ausnahme, dass sie auch optional einen Puffer von Daten während oder nach der Verbindungssynchronisierung senden kann.
Syntax
PFN_WSK_CONNECT_EX PfnWskConnectEx;
NTSTATUS PfnWskConnectEx(
[in] PWSK_SOCKET Socket,
[in] PSOCKADDR RemoteAddress,
[in, optional] PWSK_BUF Buffer,
ULONG Flags,
[in, out] PIRP Irp
)
{...}
Parameter
[in] Socket
Ein Zeiger auf eine WSK_SOCKET-Struktur, die das Socketobjekt für den Socket angibt, der mit einer Remotetransportadresse verbunden ist.
[in] RemoteAddress
Ein Zeiger auf eine Struktur, die die Remotetransportadresse angibt, mit der der Socket verbunden werden soll. Dieser Zeiger muss ein Zeiger auf den spezifischen SOCKADDR- Strukturtyp sein, der der Adressfamilie entspricht, die die WSK-Anwendung beim Erstellen des Sockets angegeben hat.
[in, optional] Buffer
Ein Zeiger auf eine WSK_BUF-Struktur, die die zu sendenden Daten während oder nach der Verbindungssynchronisierung enthält. Die maximale zulässige Größe in Bytes beträgt 65.535.
Flags
Dieser Parameter ist für die Systemverwendung reserviert. Eine WSK-Anwendung muss diesen Parameter auf Null festlegen.
[in, out] Irp
Ein Zeiger auf ein vom Aufrufer zugewiesenes IRP, das vom WSK-Subsystem verwendet wird, um den Verbindungsvorgang asynchron abzuschließen. Weitere Informationen zur Verwendung von IRPs mit WSK-Funktionen finden Sie unter Verwenden von IRPs mit Winsock Kernel Functions.
Rückgabewert
WskConnectEx- gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Socket wurde erfolgreich mit der Remotetransportadresse verbunden. Das IRP wird mit dem Erfolgsstatus abgeschlossen. |
|
Das WSK-Subsystem konnte den Socket nicht sofort verbinden. Das WSK-Subsystem schließt das IRP ab, nachdem es den Socket mit der Remote-Transportadresse verbunden hat. Der Status des Verbindungsvorgangs wird im feld IoStatus.Status IRP zurückgegeben. |
|
Der Socket ist nicht mehr funktionsfähig. Das IRP wird mit dem Fehlerstatus abgeschlossen. Die WSK-Anwendung muss die WskCloseSocket- Funktion aufrufen, um den Socket so schnell wie möglich zu schließen. |
|
Die WSK-Anwendung hat versucht, ein Flag an den parameter Flags zu übergeben (da derzeit keine gültigen Flags für WskConnectExdefiniert sind, ist dies nicht zulässig). |
|
Die WSK-Anwendung hat versucht, einen Puffer zu übergeben, der größer als 65.535 Byte ist, an den parameter Buffer. |
|
Fehler. Das IRP wird mit dem Fehlerstatus abgeschlossen. |
Bemerkungen
Eine WSK-Anwendung kann einen verbindungsorientierten Socket in einem einzelnen Funktionsaufruf erstellen, binden und verbinden, indem die WskSocketConnect-funktion aufgerufen wird, anstatt die WskSocket--Funktion, die WskBind--Funktion und dann die WskConnectEx--Funktion aufzurufen. Es wird empfohlen, die WskSocketConnect--Funktion aufzurufen, es sei denn, die WSK-Anwendung muss eine Socketoption festlegen oder einen E/A-Steuerungsvorgang vor dem Binden oder Verbinden des Sockets ausstellen.
Eine WSK-Anwendung kann die WskConnectEx--Funktion nur in einem verbindungsorientierten oder Streamsocket aufrufen, den die Anwendung zuvor an eine lokale Transportadresse gebunden hat, indem sie die WskBind--Funktion aufruft.
Wenn WskConnectEx- erfolgreich für einen Datenstromsocket aufgerufen wird, wird der Socket an einen verbindungsorientierten Fluss gebunden und ruft möglicherweise keine Überwachungssocketfunktionen mehr auf.
Wenn der parameter Buffer verwendet wird, kann der Aufrufer die MDL in der WSK_BUF Struktur freigeben, sobald die Verbindungsanforderung abgeschlossen ist.
Vor dem Aufrufen WskConnectEx mit einem bereitgestellten Sendepuffer, wenn die WSK-Anwendung die Option TCP_FASTOPEN auf einem WSK-Socket über die WskControlSocket-funktion festlegt, sendet das System optional einige oder alle Daten in einem SYN-Paket. Weitere Informationen finden Sie in der Option TCP Fastopen in IPPROTO_TCP Socketoptionen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 1703 |
Zielplattform- | Universal |
Header- | wsk.h (include Wsk.h) |
IRQL- | <= DISPATCH_LEVEL |