structure IN_PKTINFO (ws2ipdef.h)
La structure in_pktinfo est utilisée pour stocker les informations d’adresse de paquet reçues et est utilisée par Windows pour retourner des informations sur les paquets reçus et permet également de spécifier l’adresse IPv4 locale à utiliser pour l’envoi de paquets.
Syntaxe
typedef struct in_pktinfo {
IN_ADDR ipi_addr;
ULONG ipi_ifindex;
} IN_PKTINFO, *PIN_PKTINFO;
Membres
ipi_addr
Adresse IPv4 de destination de l’en-tête IP du paquet reçu lorsqu’elle est utilisée avec la fonction LPFN_WSARECVMSG (WSARecvMsg). Adresse IPv4 source locale à définir dans l’en-tête IP lorsqu’elle est utilisée avec la fonction WSASendMsg .
ipi_ifindex
Interface sur laquelle le paquet a été reçu lorsqu’il est utilisé avec la fonction LPFN_WSARECVMSG (WSARecvMsg). Interface sur laquelle le paquet doit être envoyé lorsqu’il est utilisé avec la fonction WSASendMsg .
Remarques
Si l’option de socket IP_PKTINFO est définie sur un socket de type SOCK_DGRAM ou SOCK_RAW, l’un des objets de données de contrôle retournés par la fonction LPFN_WSARECVMSG (WSARecvMsg) contient une structure in_pktinfo utilisée pour stocker les informations d’adresse de paquet reçues.
Sur un socket IPv4 de type SOCK_DGRAM ou SOCK_RAW, une application peut préciser l’adresse IP locale à utiliser pour l’envoi avec la fonction WSASendMsg . L’un des objets de données de contrôle passés dans la structure WSAMSG à la fonction WSASendMsg peut contenir une structure in_pktinfo utilisée pour spécifier l’adresse IPv4 locale à utiliser pour l’envoi.
Dans le Kit de développement logiciel (SDK) Microsoft Windows publié pour Windows Vista et versions ultérieures, la organization des fichiers d’en-tête a changé et la structure in_pktinfo est définie dans le fichier d’en-tête Ws2ipdef.h qui est automatiquement inclus dans le fichier d’en-tête Ws2tcpip.h. Les fichiers d’en-tête Ws2ipdef.h ne doivent jamais être utilisés directement.
Spécifications
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | ws2ipdef.h (include Ws2tcpip.h) |