include: Add missing items_size parameter to GetMany.

For IVectorView and IIterator interfaces.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2021-03-23 11:23:16 +01:00 committed by Alexandre Julliard
parent 9bc674f57b
commit 03e3bf5324
5 changed files with 25 additions and 7 deletions

View File

@ -142,10 +142,12 @@ static HRESULT STDMETHODCALLTYPE vector_view_gamepad_IndexOf(
}
static HRESULT STDMETHODCALLTYPE vector_view_gamepad_GetMany(
IVectorView_Gamepad *iface, ULONG start_index, IGamepad **items, UINT *value)
IVectorView_Gamepad *iface, ULONG start_index,
ULONG items_size, IGamepad **items, UINT *value)
{
FIXME("iface %p, start_index %#x, items %p, value %p stub!\n", iface, start_index, items, value);
return E_NOTIMPL;
*value = 0;
return E_BOUNDS;
}
static const struct IVectorView_GamepadVtbl vector_view_gamepad_vtbl =
@ -266,10 +268,12 @@ static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_IndexOf(
}
static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_GetMany(
IVectorView_RawGameController *iface, ULONG start_index, IRawGameController **items, UINT *value)
IVectorView_RawGameController *iface, ULONG start_index,
ULONG items_size, IRawGameController **items, UINT *value)
{
FIXME("iface %p, start_index %#x, items %p, value %p stub!\n", iface, start_index, items, value);
return E_NOTIMPL;
*value = 0;
return E_BOUNDS;
}
static const struct IVectorView_RawGameControllerVtbl vector_view_raw_game_controller_vtbl =

View File

@ -175,6 +175,10 @@ static void test_Gamepad(void)
ok(hr == E_BOUNDS, "IVectorView_Gamepad_GetAt failed, hr %#x\n", hr);
ok(gamepad == NULL, "IVectorView_Gamepad_GetAt returned %p\n", gamepad);
hr = IVectorView_Gamepad_GetMany(gamepads, size, 1, &gamepad, &size);
ok(hr == E_BOUNDS, "IVectorView_Gamepad_GetMany failed, hr %#x\n", hr);
ok(size == 0, "IVectorView_Gamepad_GetMany returned count %u\n", size);
size = 0xdeadbeef;
found = TRUE;
gamepad = (IGamepad *)0xdeadbeef;
@ -343,6 +347,10 @@ static void test_RawGameController(void)
ok(hr == S_OK, "IVectorView_RawGameController_get_Size failed, hr %#x\n", hr);
ok(size != 0xdeadbeef, "IVectorView_RawGameController_get_Size returned %u\n", size);
hr = IVectorView_RawGameController_GetMany(controllers, size, 1, &controller, &size);
ok(hr == E_BOUNDS, "IVectorView_RawGameController_GetMany failed, hr %#x\n", hr);
ok(size == 0, "IVectorView_RawGameController_GetMany returned count %u\n", size);
controller = (IRawGameController *)0xdeadbeef;
hr = IVectorView_RawGameController_GetAt(controllers, size, &controller);
ok(hr == E_BOUNDS, "IVectorView_RawGameController_GetAt failed, hr %#x\n", hr);

View File

@ -139,7 +139,8 @@ static HRESULT STDMETHODCALLTYPE vector_view_voice_information_IndexOf(
}
static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetMany(
IVectorView_VoiceInformation *iface, ULONG start_index, IVoiceInformation **items, UINT *value)
IVectorView_VoiceInformation *iface, ULONG start_index,
ULONG items_size, IVoiceInformation **items, UINT *value)
{
FIXME("iface %p, start_index %#x, items %p, value %p stub!\n", iface, start_index, items, value);
*value = 0;

View File

@ -48,6 +48,7 @@ static void test_SpeechSynthesizer(void)
IVectorView_VoiceInformation *voices = NULL;
IInstalledVoicesStatic *voices_static = NULL;
IActivationFactory *factory = NULL;
IVoiceInformation *voice;
IInspectable *inspectable = NULL, *tmp_inspectable = NULL;
IAgileObject *agile_object = NULL, *tmp_agile_object = NULL;
HSTRING str;
@ -98,6 +99,10 @@ static void test_SpeechSynthesizer(void)
ok(hr == S_OK, "IVectorView_VoiceInformation_get_Size voices failed, hr %#x\n", hr);
todo_wine ok(size != 0 && size != 0xdeadbeef, "IVectorView_VoiceInformation_get_Size returned %u\n", size);
hr = IVectorView_VoiceInformation_GetMany(voices, size, 1, &voice, &size);
ok(hr == S_OK, "IVectorView_VoiceInformation_GetMany failed, hr %#x\n", hr);
ok(size == 0, "IVectorView_VoiceInformation_GetMany returned count %u\n", size);
IVectorView_VoiceInformation_Release(voices);
IInstalledVoicesStatic_Release(voices_static);

View File

@ -83,7 +83,7 @@ cpp_quote("#endif")
[propget] HRESULT Current([out, retval] T *value);
[propget] HRESULT HasCurrent([out, retval] BOOL *value);
HRESULT MoveNext([out, retval] BOOL *value);
HRESULT GetMany([in] UINT32 count, [out] T *items, [out, retval] UINT32 *value);
HRESULT GetMany([in] UINT32 count, [in] UINT32 items_size, [out] T *items, [out, retval] UINT32 *value);
}
[
@ -104,7 +104,7 @@ cpp_quote("#endif")
HRESULT GetAt([in] ULONG index, [out, retval] T *value);
[propget] HRESULT Size([out, retval] ULONG *value);
HRESULT IndexOf([in, optional] T element, [out] ULONG *index, [out, retval] BOOLEAN *value);
HRESULT GetMany([in] ULONG start_index, [out] T *items, [out, retval] ULONG *value);
HRESULT GetMany([in] ULONG start_index, [in] ULONG items_size, [out] T *items, [out, retval] ULONG *value);
}
}
#endif