VirtualBox

source: kBuild/trunk/src/gmake/w32/subproc/w32err.c@ 53

Last change on this file since 53 was 53, checked in by bird, 21 years ago

Initial revision

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1#include <windows.h>
2#include "w32err.h"
3
4/*
5 * Description: the windows32 version of perror()
6 *
7 * Returns: a pointer to a static error
8 *
9 * Notes/Dependencies: I got this from
10 * comp.os.ms-windows.programmer.win32
11 */
12char *
13map_windows32_error_to_string (DWORD ercode) {
14/* __declspec (thread) necessary if you will use multiple threads */
15__declspec (thread) static char szMessageBuffer[128];
16
17 /* Fill message buffer with a default message in
18 * case FormatMessage fails
19 */
20 wsprintf (szMessageBuffer, "Error %ld", ercode);
21
22 /*
23 * Special code for winsock error handling.
24 */
25 if (ercode > WSABASEERR) {
26 HMODULE hModule = GetModuleHandle("wsock32");
27 if (hModule != NULL) {
28 FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,
29 hModule,
30 ercode,
31 LANG_NEUTRAL,
32 szMessageBuffer,
33 sizeof(szMessageBuffer),
34 NULL);
35 FreeLibrary(hModule);
36 }
37 } else {
38 /*
39 * Default system message handling
40 */
41 FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
42 NULL,
43 ercode,
44 LANG_NEUTRAL,
45 szMessageBuffer,
46 sizeof(szMessageBuffer),
47 NULL);
48 }
49 return szMessageBuffer;
50}
51
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette