Partager via


fonction de rappel PFN_WSK_BIND (wsk.h)

La fonction WskBind lie un socket à une adresse de transport locale.

Syntaxe

PFN_WSK_BIND PfnWskBind;

NTSTATUS PfnWskBind(
  [in]      PWSK_SOCKET Socket,
  [in]      PSOCKADDR LocalAddress,
            ULONG Flags,
  [in, out] PIRP Irp
)
{...}

Paramètres

[in] Socket

Pointeur vers une structure WSK_SOCKET qui spécifie l’objet socket pour le socket lié.

[in] LocalAddress

Pointeur vers une structure qui spécifie l’adresse de transport locale à laquelle lier le socket. Ce pointeur doit être un pointeur vers le type de structure SOCKADDR spécifique qui correspond à la famille d’adresses spécifiée par l’application WSK spécifiée lors de la création du socket.

Flags

Ce paramètre est réservé à l’utilisation du système. Une application WSK doit définir ce paramètre sur zéro.

[in, out] Irp

Pointeur vers un IRP alloué par l’appelant que le sous-système WSK utilise pour terminer l’opération de liaison de manière asynchrone. Pour plus d’informations sur l’utilisation d’IRPs avec des fonctions WSK, consultez Utilisation d’IRPs avec winsock Kernel Functions.

Valeur de retour

WskBind retourne l’un des codes NTSTATUS suivants :

Retourner le code Description
STATUS_SUCCESS
Le socket a été correctement lié à l’adresse de transport locale. L’IRP sera terminé avec l’état de réussite.
STATUS_PENDING
Le sous-système WSK n’a pas pu lier le socket immédiatement. Le sous-système WSK termine l’IRP une fois qu’il a lié le socket à l’adresse de transport locale. L’état de l’opération de liaison est retourné dans le champ IoStatus.Status de l’IRP.
STATUS_FILE_FORCED_CLOSED
Le socket n’est plus fonctionnel. L’IRP est terminé avec l’état d’échec. L’application WSK doit appeler la fonction WskCloseSocket pour fermer le socket dès que possible.
Autres codes d’état
Une erreur s’est produite. L’IRP est terminé avec l’état d’échec.

Remarques

Pour un socket d’écoute, l’appel de la fonction WskBind prépare le socket à écouter les demandes de connexion entrantes sur l’adresse de transport locale spécifiée. Si une application WSK spécifie une adresse générique locale, le socket écoute les demandes de connexion entrantes sur toutes les adresses de transport locales.

Pour un socket de datagramme, l’appel de la fonction WskBind prépare le socket pour envoyer et recevoir des datagrammes sur l’adresse de transport locale spécifiée. Si une application WSK spécifie une adresse générique locale, le socket reçoit des datagrammes sur toutes les adresses de transport locales et envoie des datagrammes à partir de l’adresse de transport locale appropriée déterminée par les informations de routage du système.

Pour un socket orienté connexion, l’appel de la fonction WskBind lie le socket à l’adresse de transport locale spécifiée. WskBind doit être appelé avant d’appeler la fonction WskConnect. Si une application WSK spécifie une adresse générique locale, la pile réseau lie le socket à l’adresse de transport locale appropriée lorsque l’application appelle WskConnect pour connecter le socket à une adresse de transport distante. Dans ce cas, l’adresse de transport locale est déterminée par les informations de routage du système.

Pour un socket de flux, l’appel de la fonction WskBind lie le socket à l’adresse de transport locale spécifiée. Si une application WSK spécifie une adresse générique locale, la pile réseau lie le socket à une adresse de transport locale disponible. WskBind doit être appelé avant d’appeler les WskListen ou les fonctions WskConnect.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Universel
d’en-tête wsk.h (include Wsk.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

SOCKADDR

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCH

WSK_PROVIDER_LISTEN_DISPATCH

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskCloseSocket

WskConnect

WskSocket