* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#define WIN32_NO_STATUS
-
#include <stdarg.h>
-//#include <string.h>
-
-#include <windef.h>
-//#include "winbase.h"
-#include <wingdi.h>
-#include <winuser.h>
-//#include "winerror.h"
-#include <winreg.h>
-//#include "mmsystem.h"
-//#include "mmreg.h"
-//#include "msacm.h"
-#include <msacmdrv.h>
+#include <string.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "winerror.h"
+#include "winreg.h"
+#include "mmsystem.h"
+#include "mmreg.h"
+#include "msacm.h"
+#include "msacmdrv.h"
#include "wineacm.h"
-#include <wine/debug.h>
-#include <wine/unicode.h>
+#include "wine/debug.h"
+#include "wine/unicode.h"
WINE_DEFAULT_DEBUG_CHANNEL(msacm);
'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;
*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 );
}
MSACM_DRIVER_SendMessage(lpDrv0, DRV_CLOSE, 0L, 0L);
lpDrv0->dwDriverID = 0;
MSACM_RemoveFromList(lpDrv0);
- HeapFree(GetProcessHeap(), 0, lpDrv0);
+ HeapFree(MSACM_hHeap, 0, lpDrv0);
}
HeapFree(MSACM_hHeap, 0, paldrv);