VirtualBox

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

Last change on this file since 154 was 154, checked in by bird, 20 years ago

This commit was generated by cvs2svn to compensate for changes in r153,
which included commits to RCS files with non-trunk default branches.

  • 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\n", 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