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 Socket angibt, der gebunden wird.

[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 eine vom Aufrufer zugewiesene IRP, die das WSK-Subsystem verwendet, um den Bindungsvorgang asynchron abzuschließen. Weitere Informationen zur Verwendung von IRPs mit WSK-Funktionen finden Sie unter Verwenden von IRPs mit Winsock-Kernelfunktionen.

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. Die IRP wird erfolgreich status 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. Die status des Bindungsvorgangs wird im Feld IoStatus.Status des IRP zurückgegeben.
STATUS_FILE_FORCED_CLOSED
Der Socket ist nicht mehr funktionsfähig. Die IRP wird mit einem Fehler status abgeschlossen. Die WSK-Anwendung muss die WskCloseSocket-Funktion aufrufen, um den Socket so schnell wie möglich zu schließen.
Andere status Codes
Ein Fehler ist aufgetreten. Die IRP wird mit einem Fehler status abgeschlossen.

Hinweise

Bei einem Listensocket bereitet das Aufrufen der WskBind-Funktion den Socket darauf vor, auf eingehende Verbindungsanforderungen an der angegebenen lokalen Transportadresse zu lauschen. Wenn eine WSK-Anwendung eine lokale Feldhalteradresse angibt, lauscht der Socket auf eingehende Verbindungsanforderungen für alle lokalen Transportadressen.

Bei einem Datagrammsocket bereitet das Aufrufen der WskBind-Funktion den Socket auf das Senden und Empfangen von Datagrammen an der angegebenen lokalen Transportadresse vor. Wenn eine WSK-Anwendung eine lokale Feldhalteradresse 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 Feldhalteradresse angibt, bindet der Netzwerkstapel den Socket an die entsprechende lokale Transportadresse, wenn die Anwendung WskConnect aufruft, um den Socket mit einer Remotetransportadresse zu verbinden. In einer solchen Situation wird die lokale Transportadresse durch die Routinginformationen des Systems bestimmt.

Bei einem Streamsocket bindet das Aufrufen der WskBind-Funktion den Socket an die angegebene lokale Transportadresse. Wenn eine WSK-Anwendung eine lokale Feldhalteradresse angibt, bindet der Netzwerkstapel den Socket an eine verfügbare lokale Transportadresse. WskBind muss vor dem Aufrufen der WskListen- oder WskConnect-Funktionen aufgerufen werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Universell
Header wsk.h (einschließen von Wsk.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

SOCKADDR

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCH

WSK_PROVIDER_LISTEN_DISPATCH

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskCloseSocket

WskConnect

WskSocket