bind () falla con el error de socket de Windows 10049

Intento hacer un programa cliente / servidor en C con IPv6 y UDP. Cuando el programa se une al socket, devuelve el WSAError 10049. Sé que este es un problema con el nombre de la dirección pero no veo cuál es el problema. Espero que alguien pueda ayudar.

struct sockaddr_in6 server, client;
SOCKET sock;
char buffer[BUFFERSIZE];
LPTSTR recvBuff[1024];
DWORD recvBuffLen = 1024UL;
int len = sizeof(client);

WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(1,1);
WSAStartup(wVersionRequested, &wsaData);

sock = socket(AF_INET6, SOCK_DGRAM, 0);
if (sock < 0)
    error("Fehler beim Anlegen des Sockets");

server.sin6_family = AF_INET6;
server.sin6_port = htons(6000);
server.sin6_addr = in6addr_any;

if (bind(sock, (struct sockaddr *) &server, sizeof(server)) == -1)
    error("Fehler beim binden des Sockets");

Respuestas a la pregunta(4)

Su respuesta a la pregunta