De msdn:
struct in_addr6 {
u_char s6_addr[16]; /* IPv6 address */
};
struct sockaddr_in6 {
short sin6_family; /* AF_INET6 */
u_short sin6_port; /* Transport level port number */
u_long sin6_flowinfo; /* IPv6 flow information */
struct in_addr6 sin6_addr; /* IPv6 address */
u_long sin6_scope_id; /* set of interfaces for a scope */
};
De votre question, je vois que:
SOCKADDR_IN6 != sockaddr_in6
Minuscules vs confusion Majuscules?
Vous pouvez également ne pas avoir la dernière version de Winsock, je ne suis pas sûr de savoir jusqu'où le support IPV6 a été introduit, vous voudrez peut-être vérifier si c'est votre problème.
Impossible d'avoir une idée du type d'en-tête de système d'exploitation que vous utilisez. –