Récupération des messages d'erreur textuels à partir des codes d'erreur GetLastError()
Lors de l'exécution d'appels d'API Windows, la fonction GetLastError() fournit une valeur entière code d'erreur indiquant les problèmes rencontrés. Pour obtenir un message d'erreur plus informatif, suivez ces étapes :
1. Utiliser FormatMessageA :
La fonction FormatMessageA vous permet de convertir un code d'erreur en un message d'erreur textuel. Il nécessite les paramètres suivants :
2. Invoquez la fonction :
Appelez FormatMessageA avec les paramètres appropriés, y compris le code d'erreur :
size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL);
3. Copiez et libérez le message d'erreur :
Après avoir récupéré le message, copiez son contenu dans une chaîne et libérez le tampon alloué à Win32 :
std::string message(messageBuffer, size); LocalFree(messageBuffer);
En suivant ces instructions, vous pouvez obtenez un message d'erreur détaillé sous forme textuelle à partir du code d'erreur renvoyé par GetLastError(), améliorant ainsi votre compréhension des problèmes rencontrés lors des appels d'API Windows.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!