Freigeben über


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
STATUS_SUCCESS
Der Socket wurde erfolgreich an die lokale Transportadresse gebunden. Das IRP wird mit dem Erfolgsstatus abgeschlossen.
STATUS_PENDING
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.
STATUS_FILE_FORCED_CLOSED
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.
Andere Statuscodes
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

Siehe auch

SOCKADDR-

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCH

WSK_PROVIDER_LISTEN_DISPATCH

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskCloseSocket

WskConnect-

WskSocket-