winmm: Use wide-char string literals.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Stefaniuc 2020-11-18 00:06:38 +01:00 committed by Alexandre Julliard
parent c00c6000bc
commit 283c1be731
6 changed files with 52 additions and 102 deletions

View File

@ -46,8 +46,6 @@ static CRITICAL_SECTION_DEBUG mmdriver_lock_debug =
static CRITICAL_SECTION mmdriver_lock = { &mmdriver_lock_debug, -1, 0, 0, 0, 0 };
static LPWINE_DRIVER lpDrvItemList /* = NULL */;
static const WCHAR HKLM_BASE[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
'W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n',0};
static void DRIVER_Dump(const char *comment)
{
@ -246,12 +244,11 @@ BOOL DRIVER_GetLibName(LPCWSTR keyName, LPCWSTR sectName, LPWSTR buf, int sz)
{
HKEY hKey, hSecKey;
DWORD bufLen, lRet;
static const WCHAR wszSystemIni[] = {'S','Y','S','T','E','M','.','I','N','I',0};
WCHAR wsznull = '\0';
TRACE("registry: %s, %s, %p, %d\n", debugstr_w(keyName), debugstr_w(sectName), buf, sz);
lRet = RegOpenKeyExW(HKEY_LOCAL_MACHINE, HKLM_BASE, 0, KEY_QUERY_VALUE, &hKey);
lRet = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows NT\\CurrentVersion",
0, KEY_QUERY_VALUE, &hKey);
if (lRet == ERROR_SUCCESS) {
lRet = RegOpenKeyExW(hKey, sectName, 0, KEY_QUERY_VALUE, &hSecKey);
if (lRet == ERROR_SUCCESS) {
@ -266,7 +263,7 @@ BOOL DRIVER_GetLibName(LPCWSTR keyName, LPCWSTR sectName, LPWSTR buf, int sz)
/* default to system.ini if we can't find it in the registry,
* to support native installations where system.ini is still used */
TRACE("system.ini: %s, %s, %p, %d\n", debugstr_w(keyName), debugstr_w(sectName), buf, sz);
return GetPrivateProfileStringW(sectName, keyName, &wsznull, buf, sz / sizeof(WCHAR), wszSystemIni);
return GetPrivateProfileStringW(sectName, keyName, L"", buf, sz / sizeof(WCHAR), L"SYSTEM.INI");
}
/**************************************************************************
@ -391,12 +388,11 @@ HDRVR WINAPI OpenDriver(LPCWSTR lpDriverName, LPCWSTR lpSectionName, LPARAM lPar
DRIVER_Dump("BEFORE:");
if (lsn == NULL) {
static const WCHAR wszDrivers32[] = {'D','r','i','v','e','r','s','3','2',0};
lstrcpynW(libName, lpDriverName, ARRAY_SIZE(libName));
if ((lpDrv = DRIVER_TryOpenDriver32(libName, lParam)))
goto the_end;
lsn = wszDrivers32;
lsn = L"Drivers32";
}
if (DRIVER_GetLibName(lpDriverName, lsn, libName, sizeof(libName)) &&
(lpDrv = DRIVER_TryOpenDriver32(libName, lParam)))

View File

@ -498,9 +498,6 @@ static void MMDRV_Init(void)
char *drvA;
HRESULT init_hr, hr;
static const WCHAR wine_info_deviceW[] = {'W','i','n','e',' ',
'i','n','f','o',' ','d','e','v','i','c','e',0};
TRACE("()\n");
init_hr = CoInitialize(NULL);
@ -512,7 +509,7 @@ static void MMDRV_Init(void)
goto exit;
}
hr = IMMDeviceEnumerator_GetDevice(devenum, wine_info_deviceW, &device);
hr = IMMDeviceEnumerator_GetDevice(devenum, L"Wine info device", &device);
IMMDeviceEnumerator_Release(devenum);
if(FAILED(hr)){
ERR("GetDevice failed: %08x\n", hr);

View File

@ -62,12 +62,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(mci);
#define MCI_MAGIC 0x0001
/* MCI settings */
static const WCHAR wszHklmMci [] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','M','C','I',0};
static const WCHAR wszNull [] = {0};
static const WCHAR wszAll [] = {'A','L','L',0};
static const WCHAR wszMci [] = {'M','C','I',0};
static const WCHAR wszOpen [] = {'o','p','e','n',0};
static const WCHAR wszSystemIni[] = {'s','y','s','t','e','m','.','i','n','i',0};
static const WCHAR wszHklmMci [] = L"Software\\Microsoft\\Windows NT\\CurrentVersion\\MCI";
static WINE_MCIDRIVER *MciDrivers;
@ -114,7 +109,7 @@ static UINT MCI_GetDriverFromString(LPCWSTR lpstrName)
if (!lpstrName)
return 0;
if (!wcsicmp(lpstrName, wszAll))
if (!wcsicmp(lpstrName, L"ALL"))
return MCI_ALL_DEVICE_ID;
EnterCriticalSection(&WINMM_cs);
@ -523,11 +518,9 @@ static DWORD MCI_GetDevTypeFromFileName(LPCWSTR fileName, LPWSTR buf, UINT len)
{
LPCWSTR tmp;
HKEY hKey;
static const WCHAR keyW[] = {'S','O','F','T','W','A','R','E','\\','M','i','c','r','o','s','o','f','t','\\',
'W','i','n','d','o','w','s',' ','N','T','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
'M','C','I',' ','E','x','t','e','n','s','i','o','n','s',0};
if ((tmp = wcsrchr(fileName, '.'))) {
if (RegOpenKeyExW( HKEY_LOCAL_MACHINE, keyW,
if (RegOpenKeyExW( HKEY_LOCAL_MACHINE,
L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\MCI Extensions",
0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS) {
DWORD dwLen = len;
LONG lRet = RegQueryValueExW( hKey, tmp + 1, 0, 0, (void*)buf, &dwLen );
@ -668,8 +661,7 @@ static UINT MCI_GetCommandTable(UINT uDevType)
str = buf;
}
} else if (uDevType == 0) {
static const WCHAR wszCore[] = {'C','O','R','E',0};
str = wszCore;
str = L"CORE";
}
uTbl = MCI_NO_COMMAND_TABLE;
if (str) {
@ -793,7 +785,7 @@ static BOOL MCI_OpenMciDriver(LPWINE_MCIDRIVER wmd, LPCWSTR drvTyp, DWORD_PTR lp
{
WCHAR libName[128];
if (!DRIVER_GetLibName(drvTyp, wszMci, libName, sizeof(libName)))
if (!DRIVER_GetLibName(drvTyp, L"MCI", libName, sizeof(libName)))
return FALSE;
/* First load driver */
@ -843,7 +835,7 @@ static DWORD MCI_LoadMciDriver(LPCWSTR _strDevTyp, LPWINE_MCIDRIVER* lpwmd)
/* silence warning if all is used... some bogus program use commands like
* 'open all'...
*/
if (wcsicmp(strDevTyp, wszAll) == 0) {
if (wcsicmp(strDevTyp, L"ALL") == 0) {
dwRet = MCIERR_CANNOT_USE_ALL;
} else {
FIXME("Couldn't load driver for type %s.\n",
@ -1198,11 +1190,6 @@ static DWORD MCI_ParseOptArgs(DWORD* data, int _offset, LPCWSTR lpCmd,
static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD retType,
MCI_GENERIC_PARMS *params, LPWSTR lpstrRet, UINT uRetLen)
{
static const WCHAR fmt_d [] = {'%','d',0};
static const WCHAR fmt_d4 [] = {'%','d',' ','%','d',' ','%','d',' ','%','d',0};
static const WCHAR wszCol3[] = {'%','0','2','d',':','%','0','2','d',':','%','0','2','d',0};
static const WCHAR wszCol4[] = {'%','0','2','d',':','%','0','2','d',':','%','0','2','d',':','%','0','2','d',0};
if (lpstrRet) {
switch (retType) {
case 0: /* nothing to return */
@ -1213,7 +1200,7 @@ static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
switch (dwRet & 0xFFFF0000ul) {
case 0:
case MCI_INTEGER_RETURNED:
swprintf(lpstrRet, uRetLen, fmt_d, data);
swprintf(lpstrRet, uRetLen, L"%d", data);
break;
case MCI_RESOURCE_RETURNED:
/* return string which ID is HIWORD(data),
@ -1228,12 +1215,12 @@ static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
HIWORD(data), lpstrRet, uRetLen);
break;
case MCI_COLONIZED3_RETURN:
swprintf(lpstrRet, uRetLen, wszCol3,
swprintf(lpstrRet, uRetLen, L"%02d:%02d:%02d",
LOBYTE(LOWORD(data)), HIBYTE(LOWORD(data)),
LOBYTE(HIWORD(data)));
break;
case MCI_COLONIZED4_RETURN:
swprintf(lpstrRet, uRetLen, wszCol4,
swprintf(lpstrRet, uRetLen, L"%02d:%02d:%02d:%02d",
LOBYTE(LOWORD(data)), HIBYTE(LOWORD(data)),
LOBYTE(HIWORD(data)), HIBYTE(HIWORD(data)));
break;
@ -1244,12 +1231,11 @@ static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
#ifdef MCI_INTEGER64
case MCI_INTEGER64:
{
static const WCHAR fmt_ld [] = {'%','l','d',0};
DWORD_PTR data = *(DWORD_PTR *)(params + 1);
switch (dwRet & 0xFFFF0000ul) {
case 0:
case MCI_INTEGER_RETURNED:
swprintf(lpstrRet, uRetLen, fmt_ld, data);
swprintf(lpstrRet, uRetLen, L"%ld", data);
break;
case MCI_RESOURCE_RETURNED:
/* return string which ID is HIWORD(data),
@ -1264,12 +1250,12 @@ static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
HIWORD(data), lpstrRet, uRetLen);
break;
case MCI_COLONIZED3_RETURN:
swprintf(lpstrRet, uRetLen, wszCol3,
swprintf(lpstrRet, uRetLen, L"%02d:%02d:%02d",
LOBYTE(LOWORD(data)), HIBYTE(LOWORD(data)),
LOBYTE(HIWORD(data)));
break;
case MCI_COLONIZED4_RETURN:
swprintf(lpstrRet, uRetLen, wszCol4,
swprintf(lpstrRet, uRetLen, L"%02d:%02d:%02d:%02d",
LOBYTE(LOWORD(data)), HIBYTE(LOWORD(data)),
LOBYTE(HIWORD(data)), HIBYTE(HIWORD(data)));
break;
@ -1287,7 +1273,7 @@ static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
{
DWORD *data = (DWORD *)(params + 1);
*data = *(LPDWORD)lpstrRet;
swprintf(lpstrRet, uRetLen, fmt_d, *data);
swprintf(lpstrRet, uRetLen, L"%d", *data);
break;
}
default:
@ -1300,7 +1286,7 @@ static DWORD MCI_HandleReturnValues(DWORD dwRet, LPWINE_MCIDRIVER wmd, DWORD ret
DWORD *data = (DWORD *)(params + 1);
if (dwRet & 0xFFFF0000ul)
WARN("Oooch. MCI_STRING and HIWORD(dwRet)=%04x\n", HIWORD(dwRet));
swprintf(lpstrRet, uRetLen, fmt_d4, data[0], data[1], data[2], data[3]);
swprintf(lpstrRet, uRetLen, L"%d %d %d %d", data[0], data[1], data[2], data[3]);
break;
}
default: FIXME("Unknown MCI return type %d\n", retType);
@ -1323,9 +1309,6 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
DWORD retType;
LPCWSTR lpCmd = 0;
WORD wMsg = 0;
static const WCHAR wszNew[] = {'n','e','w',0};
static const WCHAR wszSAliasS[] = {' ','a','l','i','a','s',' ',0};
static const WCHAR wszTypeS[] = {'t','y','p','e',' ',0};
union
{
MCI_GENERIC_PARMS generic;
@ -1358,17 +1341,17 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
if ((dwRet = MCI_GetString(&dev, &args))) {
goto errCleanUp;
}
uDevID = wcsicmp(dev, wszAll) ? 0 : MCI_ALL_DEVICE_ID;
uDevID = wcsicmp(dev, L"ALL") ? 0 : MCI_ALL_DEVICE_ID;
/* Determine devType from open */
if (!wcscmp(verb, wszOpen)) {
if (!wcscmp(verb, L"open")) {
LPWSTR tmp;
WCHAR buf[128];
/* case dev == 'new' has to be handled */
if (!wcscmp(dev, wszNew)) {
if (!wcscmp(dev, L"new")) {
dev = 0;
if ((devType = wcsstr(args, wszTypeS)) != NULL) {
if ((devType = wcsstr(args, L"type ")) != NULL) {
devType += 5;
tmp = wcschr(devType, ' ');
if (tmp) *tmp = '\0';
@ -1381,7 +1364,7 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
goto errCleanUp;
}
dwFlags |= MCI_OPEN_ELEMENT;
data.open.lpstrElementName = &wszNull[0];
data.open.lpstrElementName = &L""[0];
} else if ((devType = wcschr(dev, '!')) != NULL) {
*devType++ = '\0';
tmp = devType; devType = dev; dev = tmp;
@ -1391,7 +1374,7 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
devType = str_dup_upper(devType);
dwFlags |= MCI_OPEN_ELEMENT;
data.open.lpstrElementName = dev;
} else if (DRIVER_GetLibName(dev, wszMci, buf, sizeof(buf))) {
} else if (DRIVER_GetLibName(dev, L"MCI", buf, sizeof(buf))) {
/* this is the name of a mci driver's type */
tmp = wcschr(dev, ' ');
if (tmp) *tmp = '\0';
@ -1400,7 +1383,7 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
if (tmp) *tmp = ' ';
dwFlags |= MCI_OPEN_TYPE;
} else {
if ((devType = wcsstr(args, wszTypeS)) != NULL) {
if ((devType = wcsstr(args, L"type ")) != NULL) {
devType += 5;
tmp = wcschr(devType, ' ');
if (tmp) *tmp = '\0';
@ -1420,7 +1403,7 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
dwRet = MCIERR_CANNOT_USE_ALL;
goto errCleanUp;
}
if (!wcsstr(args, wszSAliasS) && !dev) {
if (!wcsstr(args, L" alias ") && !dev) {
dwRet = MCIERR_NEW_REQUIRES_ALIAS;
goto errCleanUp;
}
@ -1444,9 +1427,8 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
break;
default:
{
static const WCHAR wszOpenWait[] = {'o','p','e','n',' ','%','s',' ','w','a','i','t',0};
WCHAR buf[138], retbuf[6];
swprintf(buf, ARRAY_SIZE(buf), wszOpenWait, dev);
swprintf(buf, ARRAY_SIZE(buf), L"open %s wait", dev);
/* open via mciSendString handles quoting, dev!file syntax and alias creation */
if ((dwRet = mciSendStringW(buf, retbuf, ARRAY_SIZE(retbuf), 0)) != 0)
goto errCleanUp;
@ -1537,7 +1519,7 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet,
switch (wMsg) {
case MCI_OPEN:
if (wcscmp(verb, wszOpen)) {
if (wcscmp(verb, L"open")) {
FIXME("Cannot open with command %s\n", debugstr_w(verb));
dwRet = MCIERR_DRIVER_INTERNAL;
wMsg = 0;
@ -1795,13 +1777,12 @@ static DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSW lpParms)
if (!strDevTyp[0] &&
MCI_GetDevTypeFromFileName(lpParms->lpstrElementName,
strDevTyp, sizeof(strDevTyp))) {
static const WCHAR wszCdAudio[] = {'C','D','A','U','D','I','O',0};
if (GetDriveTypeW(lpParms->lpstrElementName) != DRIVE_CDROM) {
dwRet = MCIERR_EXTENSION_NOT_FOUND;
goto errCleanUp;
}
/* FIXME: this will not work if several CDROM drives are installed on the machine */
lstrcpyW(strDevTyp, wszCdAudio);
lstrcpyW(strDevTyp, L"CDAUDIO");
}
}
@ -1940,7 +1921,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm
RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0);
RegCloseKey( hKey );
}
if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, ARRAY_SIZE(buf), wszSystemIni))
if (GetPrivateProfileStringW(L"MCI", 0, L"", buf, ARRAY_SIZE(buf), L"system.ini"))
for (s = buf; *s; s += lstrlenW(s) + 1) cnt++;
}
} else {
@ -2018,7 +1999,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm
RegCloseKey( hKey );
}
if (!s) {
if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, ARRAY_SIZE(buf), wszSystemIni)) {
if (GetPrivateProfileStringW(L"MCI", 0, L"", buf, ARRAY_SIZE(buf), L"system.ini")) {
for (p = buf; *p; p += lstrlenW(p) + 1, cnt++) {
TRACE("%d: %s\n", cnt, debugstr_w(p));
if (cnt == lpParms->dwNumber - 1) {

View File

@ -55,12 +55,11 @@ static HMMIO get_mmioFromFile(LPCWSTR lpszName)
HMMIO ret;
WCHAR buf[256];
LPWSTR dummy;
static const WCHAR dotwav[] = {'.','w','a','v',0};
ret = mmioOpenW((LPWSTR)lpszName, NULL,
MMIO_ALLOCBUF | MMIO_READ | MMIO_DENYWRITE);
if (ret != 0) return ret;
if (SearchPathW(NULL, lpszName, dotwav, ARRAY_SIZE(buf), buf, &dummy))
if (SearchPathW(NULL, lpszName, L".wav", ARRAY_SIZE(buf), buf, &dummy))
{
return mmioOpenW(buf, NULL,
MMIO_ALLOCBUF | MMIO_READ | MMIO_DENYWRITE);
@ -76,21 +75,12 @@ static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName)
HKEY hRegSnd, hRegApp, hScheme, hSnd;
DWORD err, type, count;
static const WCHAR wszSounds[] = {'S','o','u','n','d','s',0};
static const WCHAR wszDefault[] = {'D','e','f','a','u','l','t',0};
static const WCHAR wszKey[] = {'A','p','p','E','v','e','n','t','s','\\',
'S','c','h','e','m','e','s','\\',
'A','p','p','s',0};
static const WCHAR wszDotDefault[] = {'.','D','e','f','a','u','l','t',0};
static const WCHAR wszDotCurrent[] = {'.','C','u','r','r','e','n','t',0};
static const WCHAR wszNull[] = {0};
TRACE("searching in SystemSound list for %s\n", debugstr_w(lpszName));
GetProfileStringW(wszSounds, lpszName, wszNull, str, ARRAY_SIZE(str));
GetProfileStringW(L"Sounds", lpszName, L"", str, ARRAY_SIZE(str));
if (!*str)
{
if (uFlags & SND_NODEFAULT) goto next;
GetProfileStringW(wszSounds, wszDefault, wszNull, str, ARRAY_SIZE(str));
GetProfileStringW(L"Sounds", L"Default", L"", str, ARRAY_SIZE(str));
if (!*str) goto next;
}
for (ptr = str; *ptr && *ptr != ','; ptr++);
@ -102,7 +92,7 @@ static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName)
* HKCU\AppEvents\Schemes\Apps\.Default
* HKCU\AppEvents\Schemes\Apps\<AppName>
*/
if (RegOpenKeyW(HKEY_CURRENT_USER, wszKey, &hRegSnd) != 0) goto none;
if (RegOpenKeyW(HKEY_CURRENT_USER, L"AppEvents\\Schemes\\Apps", &hRegSnd) != 0) goto none;
if (uFlags & SND_APPLICATION)
{
DWORD len;
@ -124,7 +114,7 @@ static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName)
}
else
{
err = RegOpenKeyW(hRegSnd, wszDotDefault, &hRegApp);
err = RegOpenKeyW(hRegSnd, L".Default", &hRegApp);
}
RegCloseKey(hRegSnd);
if (err != 0) goto none;
@ -132,10 +122,10 @@ static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName)
RegCloseKey(hRegApp);
if (err != 0) goto none;
/* what's the difference between .Current and .Default ? */
err = RegOpenKeyW(hScheme, wszDotDefault, &hSnd);
err = RegOpenKeyW(hScheme, L".Default", &hSnd);
if (err != 0)
{
err = RegOpenKeyW(hScheme, wszDotCurrent, &hSnd);
err = RegOpenKeyW(hScheme, L".Current", &hSnd);
RegCloseKey(hScheme);
if (err != 0)
goto none;
@ -279,11 +269,10 @@ static DWORD WINAPI proc_PlaySound(LPVOID arg)
/* if resource, grab it */
if ((wps->fdwSound & SND_RESOURCE) == SND_RESOURCE) {
static const WCHAR wszWave[] = {'W','A','V','E',0};
HRSRC hRes;
HGLOBAL hGlob;
if ((hRes = FindResourceW(wps->hMod, wps->pszSound, wszWave)) == 0 ||
if ((hRes = FindResourceW(wps->hMod, wps->pszSound, L"WAVE")) == 0 ||
(hGlob = LoadResource(wps->hMod, hRes)) == 0)
goto errCleanUp;
if ((data = LockResource(hGlob)) == NULL) {
@ -310,32 +299,23 @@ static DWORD WINAPI proc_PlaySound(LPVOID arg)
{
if ((wps->fdwSound & SND_ALIAS_ID) == SND_ALIAS_ID)
{
static const WCHAR wszSystemAsterisk[] = {'S','y','s','t','e','m','A','s','t','e','r','i','s','k',0};
static const WCHAR wszSystemDefault[] = {'S','y','s','t','e','m','D','e','f','a','u','l','t',0};
static const WCHAR wszSystemExclamation[] = {'S','y','s','t','e','m','E','x','c','l','a','m','a','t','i','o','n',0};
static const WCHAR wszSystemExit[] = {'S','y','s','t','e','m','E','x','i','t',0};
static const WCHAR wszSystemHand[] = {'S','y','s','t','e','m','H','a','n','d',0};
static const WCHAR wszSystemQuestion[] = {'S','y','s','t','e','m','Q','u','e','s','t','i','o','n',0};
static const WCHAR wszSystemStart[] = {'S','y','s','t','e','m','S','t','a','r','t',0};
static const WCHAR wszSystemWelcome[] = {'S','y','s','t','e','m','W','e','l','c','o','m','e',0};
wps->fdwSound &= ~(SND_ALIAS_ID ^ SND_ALIAS);
if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMASTERISK)
wps->pszSound = wszSystemAsterisk;
wps->pszSound = L"SystemAsterisk";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMDEFAULT)
wps->pszSound = wszSystemDefault;
wps->pszSound = L"SystemDefault";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMEXCLAMATION)
wps->pszSound = wszSystemExclamation;
wps->pszSound = L"SystemExclamation";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMEXIT)
wps->pszSound = wszSystemExit;
wps->pszSound = L"SystemExit";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMHAND)
wps->pszSound = wszSystemHand;
wps->pszSound = L"SystemHand";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMQUESTION)
wps->pszSound = wszSystemQuestion;
wps->pszSound = L"SystemQuestion";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMSTART)
wps->pszSound = wszSystemStart;
wps->pszSound = L"SystemStart";
else if (wps->pszSound == (LPCWSTR)SND_ALIAS_SYSTEMWELCOME)
wps->pszSound = wszSystemWelcome;
wps->pszSound = L"SystemWelcome";
else goto errCleanUp;
}
hmmio = get_mmioFromProfile(wps->fdwSound, wps->pszSound);

View File

@ -1542,9 +1542,6 @@ static void test_sndPlaySound(void)
{
BOOL br;
static const WCHAR not_existW[] = {'C',':','\\','n','o','t','_','e','x','i','s','t','.','w','a','v',0};
static const WCHAR SystemAsteriskW[] = {'S','y','s','t','e','m','A','s','t','e','r','i','s','k',0};
br = sndPlaySoundA((LPCSTR)SND_ALIAS_SYSTEMASTERISK, SND_ALIAS_ID|SND_SYNC);
ok(br == TRUE || br == FALSE, "sndPlaySound gave strange return: %u\n", br);
@ -1560,13 +1557,13 @@ static void test_sndPlaySound(void)
br = sndPlaySoundA("SystemAsterisk", SND_ALIAS|SND_SYNC);
ok(br == TRUE || br == FALSE, "sndPlaySound gave strange return: %u\n", br);
br = sndPlaySoundW(SystemAsteriskW, SND_ALIAS|SND_SYNC);
br = sndPlaySoundW(L"SystemAsterisk", SND_ALIAS|SND_SYNC);
ok(br == TRUE || br == FALSE, "sndPlaySound gave strange return: %u\n", br);
br = sndPlaySoundA("C:\not_exist.wav", SND_FILENAME|SND_SYNC);
ok(br == TRUE || br == FALSE, "sndPlaySound gave strange return: %u\n", br);
br = sndPlaySoundW(not_existW, SND_FILENAME|SND_SYNC);
br = sndPlaySoundW(L"C:\\not_exist.wav", SND_FILENAME|SND_SYNC);
ok(br == TRUE || br == FALSE, "sndPlaySound gave strange return: %u\n", br);
}

View File

@ -2458,7 +2458,6 @@ static DWORD WINAPI WINMM_DevicesThreadProc(void *arg)
{
HANDLE evt = arg;
HRESULT hr;
static const WCHAR messageW[] = {'M','e','s','s','a','g','e',0};
hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if(FAILED(hr)){
@ -2480,7 +2479,7 @@ static DWORD WINAPI WINMM_DevicesThreadProc(void *arg)
FreeLibraryAndExitThread(g_devthread_module, 1);
}
g_devices_hwnd = CreateWindowW(messageW, NULL, 0, 0, 0, 0, 0,
g_devices_hwnd = CreateWindowW(L"Message", NULL, 0, 0, 0, 0, 0,
HWND_MESSAGE, NULL, NULL, NULL);
if(!g_devices_hwnd){
WARN("CreateWindow failed: %d\n", GetLastError());