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 |
---|---|
|
Der Socket wurde erfolgreich an die lokale Transportadresse gebunden. Die IRP wird erfolgreich status 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. Die status des Bindungsvorgangs wird im Feld IoStatus.Status des IRP zurückgegeben. |
|
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. |
|
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 |