- Make sure that no duplicate wdmaud.drv audio drivers exists as winmm currently not recognizes duplicate audio driver entries

svn path=/trunk/; revision=43748
This commit is contained in:
Johannes Anderwald 2009-10-25 18:22:03 +00:00
parent acd8b06824
commit 77c67054c7

View file

@ -435,7 +435,26 @@ MMSYS_InstallDevice(HDEVINFO hDevInfo, PSP_DEVINFO_DATA pspDevInfoData)
swprintf(WaveName, L"wave%u", Index);
if (RegQueryValueExW(hKey, WaveName, 0, NULL, NULL, &BufferSize) != ERROR_MORE_DATA)
{
/* Store new audio driver entry */
RegSetValueExW(hKey, WaveName, 0, REG_SZ, (LPBYTE)szBuffer, (wcslen(szBuffer)+1) * sizeof(WCHAR));
break;
}
else
{
WCHAR Buffer[MAX_PATH];
BufferSize = sizeof(Buffer);
if (RegQueryValueExW(hKey, WaveName, 0, NULL, (LPBYTE)Buffer, &BufferSize) == ERROR_SUCCESS)
{
/* Make sure the buffer is zero terminated */
Buffer[MAX_PATH-1] = L'\0';
if (!wcsicmp(Buffer, szBuffer))
{
/* an entry already exists */
break;
}
}
}
}
RegCloseKey(hKey);