21 #include "../../SDL_internal.h"
23 #if defined(__WIN32__) || defined(__WINRT__)
30 #ifndef _WIN32_WINNT_VISTA
31 #define _WIN32_WINNT_VISTA 0x0600
33 #ifndef _WIN32_WINNT_WIN7
34 #define _WIN32_WINNT_WIN7 0x0601
44 FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
NULL, hr, 0,
75 HRESULT hr = CoInitializeEx(
NULL, COINIT_APARTMENTTHREADED);
76 if (hr == RPC_E_CHANGED_MODE) {
77 hr = CoInitializeEx(
NULL, COINIT_MULTITHREADED);
100 IsWindowsVersionOrGreater(WORD wMajorVersion, WORD wMinorVersion, WORD wServicePackMajor)
102 OSVERSIONINFOEXW osvi;
103 DWORDLONG
const dwlConditionMask = VerSetConditionMask(
106 0, VER_MAJORVERSION, VER_GREATER_EQUAL ),
107 VER_MINORVERSION, VER_GREATER_EQUAL ),
108 VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL );
111 osvi.dwOSVersionInfoSize =
sizeof(osvi);
112 osvi.dwMajorVersion = wMajorVersion;
113 osvi.dwMinorVersion = wMinorVersion;
114 osvi.wServicePackMajor = wServicePackMajor;
116 return VerifyVersionInfoW(&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR, dwlConditionMask) !=
FALSE;
125 return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 0);
134 return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN7), LOBYTE(_WIN32_WINNT_WIN7), 0);
165 static const GUID nullguid = { 0 };
166 const unsigned char *
ptr;
178 ptr = (
const unsigned char *) guid;
180 "System\\CurrentControlSet\\Control\\MediaCategories\\{%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
185 rc = (RegOpenKeyExW(HKEY_LOCAL_MACHINE, strw, 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS);
191 rc = (RegQueryValueExW(hkey, L
"Name",
NULL,
NULL,
NULL, &
len) == ERROR_SUCCESS);
203 rc = (RegQueryValueExW(hkey, L
"Name",
NULL,
NULL, (LPBYTE) strw, &
len) == ERROR_SUCCESS);
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
GLuint GLsizei const GLchar * message
GLuint const GLchar * name
#define SDL_arraysize(array)
BOOL WIN_IsWindows7OrGreater(void)
HRESULT WIN_CoInitialize(void)
char * WIN_LookupAudioDeviceName(const WCHAR *name, const GUID *guid)
#define WIN_UTF8ToString(S)
void WIN_CoUninitialize(void)
BOOL WIN_IsWindowsVistaOrGreater(void)
BOOL WIN_IsEqualIID(REFIID a, REFIID b)
#define WIN_StringToUTF8(S)
int WIN_SetError(const char *prefix)
BOOL WIN_IsEqualGUID(const GUID *a, const GUID *b)
int WIN_SetErrorFromHRESULT(const char *prefix, HRESULT hr)
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF ptr