PFN_WSK_GET_REMOTE_ADDRESS fonction de rappel (wsk.h)
La fonction WskGetRemoteAddress récupère l’adresse de transport distante d’un socket orienté connexion ou de flux.
Syntaxe
PFN_WSK_GET_REMOTE_ADDRESS PfnWskGetRemoteAddress;
NTSTATUS PfnWskGetRemoteAddress(
[in] PWSK_SOCKET Socket,
[out] PSOCKADDR RemoteAddress,
[in, out] PIRP Irp
)
{...}
Paramètres
[in] Socket
Pointeur vers une structure de WSK_SOCKET qui spécifie l’objet socket pour le socket interrogé.
[out] RemoteAddress
Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit l’adresse de transport distante du socket. La mémoire tampon doit se trouver dans la mémoire non paginée. La mémoire tampon doit également être suffisamment grande pour contenir le type de structure SOCKADDR spécifique qui correspond à la famille d’adresses spécifiée par l’application WSK lors de la création du socket.
Pour un socket orienté connexion que l’application WSK a accepté sur un socket d’écoute, la famille d’adresses est identique à la famille d’adresses spécifiée par l’application WSK lors de la création du socket d’écoute.
[in, out] Irp
Pointeur vers un IRP alloué à l’appelant que le sous-système WSK utilise pour effectuer l’opération de récupération de manière asynchrone. Pour plus d’informations sur l’utilisation des irps avec des fonctions WSK, consultez Utilisation des irps avec les fonctions du noyau Winsock.
Valeur retournée
WskGetRemoteAddress retourne l’un des codes NTSTATUS suivants :
Code de retour | Description |
---|---|
|
L’adresse de transport distante du socket a été récupérée avec succès. Le IRP sera terminé avec succès status. |
|
Le sous-système WSK n’a pas pu récupérer immédiatement l’adresse de transport distante du socket. Le sous-système WSK termine l’IRP une fois qu’il a récupéré l’adresse de transport distante pour le socket. Le status de l’opération de récupération sera retourné dans le champ IoStatus.Status de l’IRP. |
|
Le socket n’est pas connecté à une adresse de transport distante. L’IRP sera terminé avec l’échec status. |
|
Le socket n’est plus fonctionnel. L’IRP sera terminé avec l’échec status. L’application WSK doit appeler la fonction WskCloseSocket pour fermer le socket dès que possible. |
|
Une erreur est survenue. L’IRP sera terminé avec l’échec status. |
Remarques
Une application WSK peut appeler la fonction WskGetRemoteAddress uniquement sur un socket orienté connexion ou de flux qui a été connecté à une adresse de transport distante. Un socket de flux est connecté à une adresse de transport distante en appelant la fonction WskConnect . Un socket orienté connexion est connecté à une adresse de transport distante de l’une des manières suivantes :
- L’application WSK appelle la fonction WskConnect .
- L’application WSK crée, lie et connecte le socket en appelant la fonction WskSocketConnect .
- Le sous-système WSK connecte le socket lorsque l’application WSK accepte une demande de connexion entrante sur un socket d’écoute.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | wsk.h (inclure Wsk.h) |
IRQL | <= DISPATCH_LEVEL |