case AUDCLNT_S_THREAD_ALREADY_REGISTERED :text ="AUDCLNT_S_THREAD_ALREADY_REGISTERED"; break;\r
case AUDCLNT_S_POSITION_STALLED :text ="AUDCLNT_S_POSITION_STALLED"; break;\r
\r
+ // other windows common errors:\r
+ case CO_E_NOTINITIALIZED :text ="CO_E_NOTINITIALIZED: you must call CoInitialize() before Pa_OpenStream()"; break;\r
+\r
default:\r
text = "UNKNOWN ERROR";\r
}\r
// ------------------------------------------------------------------------------------------\r
typedef enum EWindowsVersion\r
{\r
- WINDOWS_UNKNOWN = 0,\r
- WINDOWS_VISTA_SERVER2008 = (1 << 0),\r
- WINDOWS_7_SERVER2008R2 = (1 << 1),\r
- WINDOWS_7_SERVER2008R2_AND_UP = (1 << 2)\r
+ WINDOWS_UNKNOWN = 0,\r
+ WINDOWS_VISTA_SERVER2008 = (1 << 0),\r
+ WINDOWS_7_SERVER2008R2 = (1 << 1),\r
+ WINDOWS_FUTURE = (1 << 2)\r
}\r
EWindowsVersion;\r
+// Defines Windows 7/Windows Server 2008 R2 and up (future versions)\r
+#define WINDOWS_7_SERVER2008R2_AND_UP (WINDOWS_7_SERVER2008R2|WINDOWS_FUTURE)\r
// The function is limited to Vista/7 mostly as we need just to find out Vista/WOW64 combination\r
// in order to use WASAPI WOW64 workarounds.\r
static UINT32 GetWindowsVersion()\r
\r
switch (dwMajorVersion)\r
{\r
+ case 0:\r
+ case 1:\r
+ case 2:\r
+ case 3:\r
+ case 4:\r
+ case 5:\r
+ break; // skip lower\r
case 6:\r
switch (dwMinorVersion)\r
{\r
version |= WINDOWS_7_SERVER2008R2;\r
break;\r
default:\r
- version |= (WINDOWS_7_SERVER2008R2|WINDOWS_7_SERVER2008R2_AND_UP);\r
+ version |= WINDOWS_FUTURE;\r
}\r
+ break;\r
+ default:\r
+ version |= WINDOWS_FUTURE;\r
}\r
}\r
\r