PFN_WSK_BIND Rückruffunktion (wsk.h)
Die WskBind--Funktion bindet einen Socket an eine lokale Transportadresse.
Syntax
PFN_WSK_BIND PfnWskBind;
NTSTATUS PfnWskBind(
[in] PWSK_SOCKET Socket,
[in] PSOCKADDR LocalAddress,
ULONG Flags,
[in, out] PIRP Irp
)
{...}
Parameter
[in] Socket
Ein Zeiger auf eine WSK_SOCKET Struktur, die das Socketobjekt für den gebundenen Socket angibt.
[in] LocalAddress
Ein Zeiger auf eine Struktur, die die lokale Transportadresse angibt, an die der Socket gebunden 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.
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 Bindungsvorgang asynchron abzuschließen. Weitere Informationen zur Verwendung von IRPs mit WSK-Funktionen finden Sie unter Verwenden von IRPs mit Winsock Kernel Functions.
Rückgabewert
WskBind- gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Socket wurde erfolgreich an die lokale Transportadresse gebunden. Das IRP wird mit dem Erfolgsstatus abgeschlossen. |
|
Das WSK-Subsystem konnte den Socket nicht sofort binden. Das WSK-Subsystem schließt das IRP ab, nachdem es den Socket an die lokale Transportadresse gebunden hat. Der Status des Bindungsvorgangs wird im IoStatus.Status- Feld des 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. |
|
Fehler. Das IRP wird mit dem Fehlerstatus abgeschlossen. |
Bemerkungen
Für einen Überwachungssocket bereitet das Aufrufen der WskBind--Funktion den Socket auf eingehende Verbindungsanforderungen für die angegebene lokale Transportadresse vor. Wenn eine WSK-Anwendung eine lokale Wildcardadresse angibt, überwacht der Socket eingehende Verbindungsanforderungen für alle lokalen Transportadressen.
Für einen Datagrammsocket bereitet das Aufrufen der WskBind--Funktion das Senden und Empfangen von Datagrammen für die angegebene lokale Transportadresse vor. Wenn eine WSK-Anwendung eine lokale Wildcardadresse angibt, empfängt der Socket Datagramme für alle lokalen Transportadressen und sendet Datagramme von der entsprechenden lokalen Transportadresse, die durch die Routinginformationen des Systems bestimmt wird.
Bei einem verbindungsorientierten Socket bindet das Aufrufen der WskBind--Funktion den Socket an die angegebene lokale Transportadresse. WskBind- muss vor dem Aufrufen der WskConnect--Funktion aufgerufen werden. Wenn eine WSK-Anwendung eine lokale Wildcardadresse angibt, bindet der Netzwerkstapel den Socket an die entsprechende lokale Transportadresse, wenn die Anwendung WskConnect- aufruft, um den Socket mit einer Remote-Transportadresse zu verbinden. In einer solchen Situation wird die lokale Transportadresse durch die Routinginformationen des Systems bestimmt.
Bei einem Datenstromsocket bindet das Aufrufen der WskBind--Funktion den Socket an die angegebene lokale Transportadresse. Wenn eine WSK-Anwendung eine lokale Wildcardadresse angibt, bindet der Netzwerkstapel den Socket an eine verfügbare lokale Transportadresse. WskBind- muss vor dem Aufrufen der WskListen- oder der WskConnect--Funktionen aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform- | Universal |
Header- | wsk.h (include Wsk.h) |
IRQL- | <= DISPATCH_LEVEL |