Module: wine Branch: master Commit: e532c55995989f9ad4625e876fe93b71d6b476f1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e532c55995989f9ad4625e876f...
Author: Andrew Eikum aeikum@codeweavers.com Date: Wed Jun 15 15:22:39 2011 -0500
msacm32: Also load ACM drivers from key values.
---
dlls/msacm32/internal.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/msacm32/internal.c b/dlls/msacm32/internal.c index feb6e9cb..239f4d3 100644 --- a/dlls/msacm32/internal.c +++ b/dlls/msacm32/internal.c @@ -360,8 +360,8 @@ void MSACM_RegisterAllDrivers(void) 'W','i','n','d','o','w','s',' ','N','T','\', 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\', 'D','r','i','v','e','r','s','3','2','\0'}; - DWORD i, cnt = 0, bufLen, lRet; - WCHAR buf[2048], *name, *s; + DWORD i, cnt, bufLen, lRet, type; + WCHAR buf[2048], valname[64], *name, *s; FILETIME lastWrite; HKEY hKey;
@@ -381,6 +381,15 @@ void MSACM_RegisterAllDrivers(void) *name = 0; MSACM_RegisterDriver(buf, name + 1, 0); } + i = 0; + cnt = sizeof(valname) / sizeof(*valname); + bufLen = sizeof(buf); + while(RegEnumValueW(hKey, i, valname, &cnt, 0, + &type, (BYTE*)buf, &bufLen) == ERROR_SUCCESS){ + if(!strncmpiW(valname, msacmW, sizeof(msacmW) / sizeof(*msacmW))) + MSACM_RegisterDriver(valname, buf, 0); + ++i; + } RegCloseKey( hKey ); }