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( ...@@ -142,10 +142,12 @@ static HRESULT STDMETHODCALLTYPE vector_view_gamepad_IndexOf(
} }
static HRESULT STDMETHODCALLTYPE vector_view_gamepad_GetMany( 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); 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 = static const struct IVectorView_GamepadVtbl vector_view_gamepad_vtbl =
...@@ -266,10 +268,12 @@ static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_IndexOf( ...@@ -266,10 +268,12 @@ static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_IndexOf(
} }
static HRESULT STDMETHODCALLTYPE vector_view_raw_game_controller_GetMany( 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); 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 = static const struct IVectorView_RawGameControllerVtbl vector_view_raw_game_controller_vtbl =
......
...@@ -175,6 +175,10 @@ static void test_Gamepad(void) ...@@ -175,6 +175,10 @@ static void test_Gamepad(void)
ok(hr == E_BOUNDS, "IVectorView_Gamepad_GetAt failed, hr %#x\n", hr); ok(hr == E_BOUNDS, "IVectorView_Gamepad_GetAt failed, hr %#x\n", hr);
ok(gamepad == NULL, "IVectorView_Gamepad_GetAt returned %p\n", gamepad); 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; size = 0xdeadbeef;
found = TRUE; found = TRUE;
gamepad = (IGamepad *)0xdeadbeef; gamepad = (IGamepad *)0xdeadbeef;
...@@ -343,6 +347,10 @@ static void test_RawGameController(void) ...@@ -343,6 +347,10 @@ static void test_RawGameController(void)
ok(hr == S_OK, "IVectorView_RawGameController_get_Size failed, hr %#x\n", hr); ok(hr == S_OK, "IVectorView_RawGameController_get_Size failed, hr %#x\n", hr);
ok(size != 0xdeadbeef, "IVectorView_RawGameController_get_Size returned %u\n", size); 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; controller = (IRawGameController *)0xdeadbeef;
hr = IVectorView_RawGameController_GetAt(controllers, size, &controller); hr = IVectorView_RawGameController_GetAt(controllers, size, &controller);
ok(hr == E_BOUNDS, "IVectorView_RawGameController_GetAt failed, hr %#x\n", hr); ok(hr == E_BOUNDS, "IVectorView_RawGameController_GetAt failed, hr %#x\n", hr);
......
...@@ -139,7 +139,8 @@ static HRESULT STDMETHODCALLTYPE vector_view_voice_information_IndexOf( ...@@ -139,7 +139,8 @@ static HRESULT STDMETHODCALLTYPE vector_view_voice_information_IndexOf(
} }
static HRESULT STDMETHODCALLTYPE vector_view_voice_information_GetMany( 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); FIXME("iface %p, start_index %#x, items %p, value %p stub!\n", iface, start_index, items, value);
*value = 0; *value = 0;
......
...@@ -48,6 +48,7 @@ static void test_SpeechSynthesizer(void) ...@@ -48,6 +48,7 @@ static void test_SpeechSynthesizer(void)
IVectorView_VoiceInformation *voices = NULL; IVectorView_VoiceInformation *voices = NULL;
IInstalledVoicesStatic *voices_static = NULL; IInstalledVoicesStatic *voices_static = NULL;
IActivationFactory *factory = NULL; IActivationFactory *factory = NULL;
IVoiceInformation *voice;
IInspectable *inspectable = NULL, *tmp_inspectable = NULL; IInspectable *inspectable = NULL, *tmp_inspectable = NULL;
IAgileObject *agile_object = NULL, *tmp_agile_object = NULL; IAgileObject *agile_object = NULL, *tmp_agile_object = NULL;
HSTRING str; HSTRING str;
...@@ -98,6 +99,10 @@ static void test_SpeechSynthesizer(void) ...@@ -98,6 +99,10 @@ static void test_SpeechSynthesizer(void)
ok(hr == S_OK, "IVectorView_VoiceInformation_get_Size voices failed, hr %#x\n", hr); 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); 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); IVectorView_VoiceInformation_Release(voices);
IInstalledVoicesStatic_Release(voices_static); IInstalledVoicesStatic_Release(voices_static);
......
...@@ -83,7 +83,7 @@ cpp_quote("#endif") ...@@ -83,7 +83,7 @@ cpp_quote("#endif")
[propget] HRESULT Current([out, retval] T *value); [propget] HRESULT Current([out, retval] T *value);
[propget] HRESULT HasCurrent([out, retval] BOOL *value); [propget] HRESULT HasCurrent([out, retval] BOOL *value);
HRESULT MoveNext([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") ...@@ -104,7 +104,7 @@ cpp_quote("#endif")
HRESULT GetAt([in] ULONG index, [out, retval] T *value); HRESULT GetAt([in] ULONG index, [out, retval] T *value);
[propget] HRESULT Size([out, retval] ULONG *value); [propget] HRESULT Size([out, retval] ULONG *value);
HRESULT IndexOf([in, optional] T element, [out] ULONG *index, [out, retval] BOOLEAN *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 #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