PFN_WSK_GET_REMOTE_ADDRESS Rückruffunktion (wsk.h)
Die WskGetRemoteAddress-Funktion ruft die Remotetransportadresse eines verbindungsorientierten Oder Streamsockets ab.
Syntax
PFN_WSK_GET_REMOTE_ADDRESS PfnWskGetRemoteAddress;
NTSTATUS PfnWskGetRemoteAddress(
[in] PWSK_SOCKET Socket,
[out] PSOCKADDR RemoteAddress,
[in, out] PIRP Irp
)
{...}
Parameter
[in] Socket
Ein Zeiger auf eine WSK_SOCKET-Struktur , die das Socketobjekt für den abgefragten Socket angibt.
[out] RemoteAddress
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die Remotetransportadresse für den Socket empfängt. Der Puffer muss sich im Nicht-Auslagerungsspeicher befinden. Der Puffer muss auch groß genug sein, um den spezifischen SOCKADDR-Strukturtyp zu enthalten, der der Adressfamilie entspricht, die die WSK-Anwendung beim Erstellen des Sockets angegeben hat.
Bei einem verbindungsorientierten Socket, den die WSK-Anwendung für einen Lauschsocket akzeptiert hat, entspricht die Adressfamilie der Adressfamilie, die die WSK-Anwendung beim Erstellen des Lauschockets angegeben hat.
[in, out] Irp
Ein Zeiger auf ein vom Aufrufer zugeordnetes IRP, das das WSK-Subsystem verwendet, um den Abrufvorgang asynchron abzuschließen. Weitere Informationen zur Verwendung von IRPs mit WSK-Funktionen finden Sie unter Verwenden von IRPs mit Winsock-Kernelfunktionen.
Rückgabewert
WskGetRemoteAddress gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Die Remotetransportadresse für den Socket wurde erfolgreich abgerufen. Die IRP wird erfolgreich status abgeschlossen. |
|
Das WSK-Subsystem konnte die Remotetransportadresse für den Socket nicht sofort abrufen. Das WSK-Subsystem schließt das IRP ab, nachdem es die Remotetransportadresse für den Socket abgerufen hat. Die status des Abrufvorgangs wird im Feld IoStatus.Status des IRP zurückgegeben. |
|
Der Socket ist nicht mit einer Remotetransportadresse verbunden. Die IRP wird mit einem Fehler status abgeschlossen. |
|
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
Eine WSK-Anwendung kann die WskGetRemoteAddress-Funktion nur für einen verbindungsorientierten Oder Streamsocket aufrufen, der mit einer Remotetransportadresse verbunden wurde. Ein Streamsocket wird durch Aufrufen der WskConnect-Funktion mit einer Remotetransportadresse verbunden. Ein verbindungsorientierter Socket wird auf eine der folgenden Arten mit einer Remotetransportadresse verbunden:
- Die WSK-Anwendung ruft die WskConnect-Funktion auf.
- Die WSK-Anwendung erstellt, bindet den Socket und stellt eine Verbindung her, indem die WskSocketConnect-Funktion aufgerufen wird.
- Das WSK-Subsystem verbindet den Socket, wenn die WSK-Anwendung eine eingehende Verbindungsanforderung für einen lauschenden Socket akzeptiert.
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 |