Subversion Repositories pentevo

Rev

Rev 883 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. #include "std.h"
  2.  
  3. #include "emul.h"
  4. #include "vars.h"
  5. #include "dxerr.h"
  6. #include "util.h"
  7.  
  8. #ifdef __GNUC__
  9. #define DXGetErrorString DXGetErrorString9
  10. #endif
  11.  
  12. #ifdef EMUL_DEBUG
  13.  
  14.  // lvd {
  15.  #ifdef __GNUC__
  16.   #include <dxerr9.h>
  17.  #else
  18.   #include "dxerr9.h"
  19.  #endif
  20.  // lvd }
  21.  
  22. void printrdd(const char *pr, HRESULT r)
  23. {
  24.    color(CONSCLR_ERROR);
  25.    printf("%s: %s\n", pr, DXGetErrorString(r));
  26.    color();
  27.  
  28. #ifdef _DEBUG
  29.    OutputDebugString(pr);
  30.    OutputDebugString(": ");
  31.    OutputDebugString(DXGetErrorString(r));
  32.    OutputDebugString("\n");
  33. #endif
  34. }
  35.  
  36. void printrdi(const char *pr, HRESULT r)
  37. {
  38.    color(CONSCLR_ERROR);
  39.    printf("%s: %s\n", pr, DXGetErrorString(r));
  40.    color();
  41.  
  42. #ifdef _DEBUG
  43.    OutputDebugString(pr);
  44.    OutputDebugString(": ");
  45.    OutputDebugString(DXGetErrorString(r));
  46.    OutputDebugString("\n");
  47. #endif
  48. }
  49.  
  50. void printrmm(const char *pr, MMRESULT r)
  51. {
  52.    char buf[200]; sprintf(buf, "unknown error (%08X)", r);
  53.    const char *str = buf;
  54.    switch (r)
  55.    {
  56.       case MMSYSERR_NOERROR: str = "ok"; break;
  57.       case MMSYSERR_INVALHANDLE: str = "MMSYSERR_INVALHANDLE"; break;
  58.       case MMSYSERR_NODRIVER: str = "MMSYSERR_NODRIVER"; break;
  59.       case WAVERR_UNPREPARED: str = "WAVERR_UNPREPARED"; break;
  60.       case MMSYSERR_NOMEM: str = "MMSYSERR_NOMEM"; break;
  61.       case MMSYSERR_ALLOCATED: str = "MMSYSERR_ALLOCATED"; break;
  62.       case WAVERR_BADFORMAT: str = "WAVERR_BADFORMAT"; break;
  63.       case WAVERR_SYNC: str = "WAVERR_SYNC"; break;
  64.       case MMSYSERR_INVALFLAG: str = "MMSYSERR_INVALFLAG"; break;
  65.    }
  66.    color(CONSCLR_ERROR);
  67.    printf("%s: %s\n", pr, str);
  68.    color();
  69. }
  70.  
  71. void printrds(const char *pr, HRESULT r)
  72. {
  73.    color(CONSCLR_ERROR);
  74.    PCSTR ErrStr;
  75.    if(r == AUDCLNT_E_DEVICE_IN_USE)
  76.    {
  77.        ErrStr = "AUDCLNT_E_DEVICE_IN_USE";
  78. }
  79.    else
  80.    {
  81.        ErrStr = DXGetErrorString(r);
  82.    }
  83.  
  84.    printf("%s: 0x%lX, %s\n", pr, r, ErrStr);
  85.    color();
  86. }
  87. #else
  88. #define printrdd(x,y)
  89. #define printrdi(x,y)
  90. #define printrds(x,y)
  91. #define printrmm(x,y)
  92. #endif
  93.