mmdevapi/tests: Fix some test failures on Windows <= 7.

Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Sven Baars 2020-10-11 13:20:22 +02:00 committed by Alexandre Julliard
parent c58802d0f4
commit a66bb83191
2 changed files with 40 additions and 27 deletions

View File

@ -218,6 +218,13 @@ static void test_ActivateAudioInterfaceAsync(void)
h_mmdev = LoadLibraryA("mmdevapi.dll"); h_mmdev = LoadLibraryA("mmdevapi.dll");
pActivateAudioInterfaceAsync = (void*)GetProcAddress(h_mmdev, "ActivateAudioInterfaceAsync");
if (!pActivateAudioInterfaceAsync)
{
win_skip("ActivateAudioInterfaceAsync is not supported on Win <= 7\n");
return;
}
/* some applications look this up by ordinal */ /* some applications look this up by ordinal */
pActivateAudioInterfaceAsync = (void*)GetProcAddress(h_mmdev, (char *)17); pActivateAudioInterfaceAsync = (void*)GetProcAddress(h_mmdev, (char *)17);
ok(pActivateAudioInterfaceAsync != NULL, "mmdevapi.ActivateAudioInterfaceAsync missing!\n"); ok(pActivateAudioInterfaceAsync != NULL, "mmdevapi.ActivateAudioInterfaceAsync missing!\n");

View File

@ -154,7 +154,10 @@ static void test_audioclient(void)
hr = IMMDevice_Activate(dev, &IID_IAudioClient2, CLSCTX_INPROC_SERVER, hr = IMMDevice_Activate(dev, &IID_IAudioClient2, CLSCTX_INPROC_SERVER,
NULL, (void**)&ac2); NULL, (void**)&ac2);
ok(hr == S_OK, "IAudioClient2 Activation failed with %08x\n", hr); ok(hr == S_OK ||
broken(hr == E_NOINTERFACE) /* win7 */,
"IAudioClient2 Activation failed with %08x\n", hr);
if(hr == S_OK)
IAudioClient2_Release(ac2); IAudioClient2_Release(ac2);
hr = IMMDevice_Activate(dev, &IID_IAudioClient, CLSCTX_INPROC_SERVER, hr = IMMDevice_Activate(dev, &IID_IAudioClient, CLSCTX_INPROC_SERVER,
@ -262,8 +265,8 @@ static void test_audioclient(void)
} }
hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient2, (void**)&ac2); hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient2, (void**)&ac2);
ok(hr == S_OK, "Failed to query IAudioClient2 interface: %08x\n", hr); if (hr == S_OK)
{
hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, NULL); hr = IAudioClient2_IsOffloadCapable(ac2, AudioCategory_BackgroundCapableMedia, NULL);
ok(hr == E_INVALIDARG, "IsOffloadCapable gave wrong error: %08x\n", hr); ok(hr == E_INVALIDARG, "IsOffloadCapable gave wrong error: %08x\n", hr);
@ -295,6 +298,9 @@ static void test_audioclient(void)
ok(hr == S_OK, "SetClientProperties failed: %08x\n", hr); ok(hr == S_OK, "SetClientProperties failed: %08x\n", hr);
IAudioClient2_Release(ac2); IAudioClient2_Release(ac2);
}
else
win_skip("IAudioClient2 is not present on Win <= 7\n");
hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient3, (void**)&ac3); hr = IAudioClient_QueryInterface(ac, &IID_IAudioClient3, (void**)&ac3);
ok(hr == S_OK || ok(hr == S_OK ||