Commit 03e3bf53 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

include: Add missing items_size parameter to GetMany.

For IVectorView and IIterator interfaces. Signed-off-by: 's avatarRémi Bernon <rbernon@codeweavers.com> Signed-off-by: 's avatarJacek Caban <jacek@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 9bc674f5
......@@ -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 =
......
......@@ -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);
......
......@@ -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;
......
......@@ -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);
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment