dsound: Skip the sound checks on the primary module and change its driver module to "".

This commit is contained in:
Maarten Lankhorst 2008-04-19 22:01:36 -07:00 committed by Alexandre Julliard
parent 430a46fdf7
commit 6c4d9448a9
2 changed files with 14 additions and 5 deletions

View File

@ -311,8 +311,8 @@ HRESULT WINAPI DirectSoundEnumerateA(
err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0));
if (err == DS_OK) {
TRACE("calling lpDSEnumCallback(NULL,\"%s\",\"%s\",%p)\n",
"Primary Sound Driver",desc.szDrvname,lpContext);
if (lpDSEnumCallback(NULL, "Primary Sound Driver", desc.szDrvname, lpContext) == FALSE)
"Primary Sound Driver","",lpContext);
if (lpDSEnumCallback(NULL, "Primary Sound Driver", "", lpContext) == FALSE)
return DS_OK;
}
}
@ -367,6 +367,7 @@ HRESULT WINAPI DirectSoundEnumerateW(
devs = waveOutGetNumDevs();
if (devs > 0) {
if (GetDeviceID(&DSDEVID_DefaultPlayback, &guid) == DS_OK) {
static const WCHAR empty[] = { 0 };
for (wod = 0; wod < devs; ++wod) {
if (IsEqualGUID( &guid, &DSOUND_renderer_guids[wod] ) ) {
err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD_PTR)&desc,0));
@ -375,9 +376,7 @@ HRESULT WINAPI DirectSoundEnumerateW(
"Primary Sound Driver",desc.szDrvname,lpContext);
MultiByteToWideChar( CP_ACP, 0, "Primary Sound Driver", -1,
wDesc, sizeof(wDesc)/sizeof(WCHAR) );
MultiByteToWideChar( CP_ACP, 0, desc.szDrvname, -1,
wName, sizeof(wName)/sizeof(WCHAR) );
if (lpDSEnumCallback(NULL, wDesc, wName, lpContext) == FALSE)
if (lpDSEnumCallback(NULL, wDesc, empty, lpContext) == FALSE)
return DS_OK;
}
}

View File

@ -1002,11 +1002,21 @@ EXIT:
return rc;
}
static unsigned int number;
static BOOL WINAPI dsenum_callback(LPGUID lpGuid, LPCSTR lpcstrDescription,
LPCSTR lpcstrModule, LPVOID lpContext)
{
HRESULT rc;
trace("*** Testing %s - %s ***\n",lpcstrDescription,lpcstrModule);
/* Don't test the primary device */
if (!number++)
{
ok (!lpcstrModule[0], "lpcstrModule(%s) != NULL\n", lpcstrModule);
return 1;
}
rc = test_dsound(lpGuid);
if (rc == DSERR_NODRIVER)
trace(" No Driver\n");