You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.5 KiB
77 lines
1.5 KiB
// This is functions used by both the
|
|
// the client and the server programs
|
|
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
#include "perror.h"
|
|
|
|
LPTSTR
|
|
winErrorString(
|
|
HRESULT hrErrorCode,
|
|
LPTSTR sBuf,
|
|
int cBufSize)
|
|
{
|
|
#ifdef WIN32
|
|
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
|
|
NULL,
|
|
hrErrorCode,
|
|
GetSystemDefaultLangID(),
|
|
sBuf,
|
|
cBufSize,
|
|
NULL);
|
|
#else
|
|
wsprintf(sBuf, "\"0x%08x\"\n", hrErrorCode);
|
|
#endif // WIN32
|
|
return sBuf;
|
|
}
|
|
|
|
#define PBUF_LEN 200
|
|
|
|
#if 0 // I'm not linking with "printf" currently.
|
|
void
|
|
print_error(
|
|
LPTSTR sMessage,
|
|
HRESULT hrErrorCode)
|
|
{
|
|
TCHAR sBuf[PBUF_LEN];
|
|
|
|
winErrorString(hrErrorCode, sMessage, PBUF_LEN);
|
|
#ifdef WIN32
|
|
printf("%s(0x%x)%s", sMessage, hrErrorCode, sBuf);
|
|
#else
|
|
printf("%s%s", sMessage, sBuf);
|
|
#endif
|
|
}
|
|
#endif
|
|
|
|
void
|
|
perror_OKBox(
|
|
HWND hwnd,
|
|
LPTSTR sTitle,
|
|
HRESULT hrErrorCode)
|
|
{
|
|
TCHAR sBuf[PBUF_LEN];
|
|
TCHAR sBuf2[PBUF_LEN];
|
|
|
|
winErrorString(hrErrorCode, sBuf, PBUF_LEN);
|
|
wsprintf(sBuf2, TEXT("%s(%08x)"), sBuf, hrErrorCode);
|
|
MessageBox(hwnd, sBuf2, sTitle, MB_OK);
|
|
}
|
|
|
|
void
|
|
wprintf_OKBox(
|
|
HWND hwnd,
|
|
LPTSTR sTitle,
|
|
LPTSTR sFormat,
|
|
...)
|
|
{
|
|
TCHAR sBuf[PBUF_LEN];
|
|
va_list vaMarker;
|
|
|
|
va_start( vaMarker, sFormat );
|
|
wvsprintf(sBuf, sFormat, vaMarker);
|
|
MessageBox(hwnd, sBuf, sTitle, MB_OK);
|
|
}
|
|
|