Fonction WSAGetLastError (winsock.h)
La fonction WSAGetLastError retourne l’erreur status pour la dernière opération de sockets Windows qui a échoué.
Syntaxe
int WSAGetLastError();
Valeur de retour
La valeur de retour indique le code d’erreur de la dernière opération de sockets Windows de ce thread qui a échoué.
Remarques
La fonction WSAGetLastError retourne la dernière erreur qui s’est produite pour le thread appelant. Lorsqu’une fonction Windows Sockets particulière indique qu’une erreur s’est produite, cette fonction doit être appelée immédiatement pour récupérer le code d’erreur étendu pour l’appel de fonction défaillant. Ce code d’erreur étendu peut être différent du code d’erreur obtenu à partir de getockopt lorsqu’il est appelé avec un paramètre optname de SO_ERROR, qui est spécifique au socket, car WSAGetLastError concerne tous les sockets spécifiques au thread.
Si la valeur de retour d’un appel de fonction indique que l’erreur ou d’autres données pertinentes ont été retournées dans le code d’erreur, WSAGetLastError doit être appelé immédiatement. Cela est nécessaire, car certaines fonctions peuvent réinitialiser le dernier code d’erreur étendu à 0 si elles réussissent, en remplaçant le code d’erreur étendu retourné par une fonction ayant précédemment échoué. Pour réinitialiser spécifiquement le code d’erreur étendu, utilisez l’appel de fonction WSASetLastError avec le paramètre iError défini sur zéro. Une fonction getsockopt lorsqu’elle est appelée avec un paramètre optname de SO_ERROR réinitialise également le code d’erreur étendu à zéro.
La fonction WSAGetLastError ne doit pas être utilisée pour case activée pour une valeur d’erreur étendue à la réception d’un message asynchrone. Dans ce cas, la valeur d’erreur étendue est transmise dans le paramètre lParam du message, ce qui peut différer de la valeur retournée par WSAGetLastError.
Les codes d’erreur étendus des sockets Windows retournés par cette fonction et la description textuelle de l’erreur sont répertoriés sous Codes d’erreur des sockets Windows. Ces codes d’erreur et une brève description textuelle associée à un code d’erreur sont définis dans le fichier d’en-tête Winerror.h . La fonction FormatMessage peut être utilisée pour obtenir la chaîne de message pour l’erreur retournée.
Pour plus d’informations sur la gestion des codes d’erreur lors du portage d’applications socket vers Winsock, consultez Codes d’erreur - errno, h_errno et WSAGetLastError.
Windows Phone 8 : cette fonction est prise en charge pour les applications du Store Windows Phone Windows Phone 8 et versions ultérieures.
Windows 8.1 et Windows Server 2012 R2 : cette fonction est prise en charge pour les applications du Windows Store sur Windows 8.1, Windows Server 2012 R2 et versions ultérieures.
Configuration requise
Client minimal pris en charge | Windows 8.1, Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winsock.h (inclure Winsock2.h) |
Bibliothèque | Ws2_32.lib |
DLL | Ws2_32.dll |
Voir aussi
Codes d’erreur : errno, h_errno et WSAGetLastError
Codes d’erreur des sockets Windows