Rob Shearman : oleaut32: Test the return value of the remote IWidget_StructArgs call.
Alexandre Julliard
julliard at winehq.org
Mon Jan 12 10:40:41 CST 2009
Module: wine
Branch: master
Commit: 17a30ff2e8ab5fbd29e8fe86a3cf98d2221c8658
URL: http://source.winehq.org/git/wine.git/?a=commit;h=17a30ff2e8ab5fbd29e8fe86a3cf98d2221c8658
Author: Rob Shearman <robertshearman at gmail.com>
Date: Sat Jan 10 20:56:52 2009 +0000
oleaut32: Test the return value of the remote IWidget_StructArgs call.
---
dlls/oleaut32/tests/tmarshal.c | 15 +++++++++++----
dlls/oleaut32/tests/tmarshal.idl | 6 +++---
2 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
index 6193d80..713c366 100644
--- a/dlls/oleaut32/tests/tmarshal.c
+++ b/dlls/oleaut32/tests/tmarshal.c
@@ -546,7 +546,7 @@ static HRESULT WINAPI Widget_VariantArrayPtr(
return S_OK;
}
-static void WINAPI Widget_Variant(
+static HRESULT WINAPI Widget_Variant(
IWidget __RPC_FAR * iface,
VARIANT var)
{
@@ -554,9 +554,10 @@ static void WINAPI Widget_Variant(
ok(V_VT(&var) == VT_CY, "V_VT(&var) was %d\n", V_VT(&var));
ok(S(V_CY(&var)).Hi == 0xdababe, "V_CY(&var).Hi was 0x%x\n", S(V_CY(&var)).Hi);
ok(S(V_CY(&var)).Lo == 0xdeadbeef, "V_CY(&var).Lo was 0x%x\n", S(V_CY(&var)).Lo);
+ return S_OK;
}
-static void WINAPI Widget_VarArg(
+static HRESULT WINAPI Widget_VarArg(
IWidget * iface,
int numexpect,
SAFEARRAY * values)
@@ -586,9 +587,11 @@ static void WINAPI Widget_VarArg(
hr = SafeArrayUnaccessData(values);
ok(hr == S_OK, "SafeArrayUnaccessData failed with %x\n", hr);
+
+ return S_OK;
}
-static void WINAPI Widget_StructArgs(
+static HRESULT WINAPI Widget_StructArgs(
IWidget * iface,
MYSTRUCT byval,
MYSTRUCT *byptr,
@@ -597,6 +600,7 @@ static void WINAPI Widget_StructArgs(
ok(memcmp(&byval, &MYSTRUCT_BYVAL, sizeof(MYSTRUCT))==0, "Struct parameter passed by value corrupted\n");
ok(memcmp(byptr, &MYSTRUCT_BYPTR, sizeof(MYSTRUCT))==0, "Struct parameter passed by pointer corrupted\n");
ok(memcmp(arr, MYSTRUCT_ARRAY, sizeof(MYSTRUCT_ARRAY))==0, "Array of structs corrupted\n");
+ return S_OK;
}
@@ -1102,7 +1106,10 @@ static void test_typelibmarshal(void)
/* call StructArgs (direct) */
mystruct = MYSTRUCT_BYPTR;
memcpy(mystructArray, MYSTRUCT_ARRAY, sizeof(mystructArray));
- IWidget_StructArgs(pWidget, MYSTRUCT_BYVAL, &mystruct, mystructArray);
+ hr = IWidget_StructArgs(pWidget, MYSTRUCT_BYVAL, &mystruct, mystructArray);
+ todo_wine {
+ ok_ole_success(hr, IWidget_StructArgs);
+ }
/* call Clone */
dispparams.cNamedArgs = 0;
diff --git a/dlls/oleaut32/tests/tmarshal.idl b/dlls/oleaut32/tests/tmarshal.idl
index ea10797..2b57ddd 100644
--- a/dlls/oleaut32/tests/tmarshal.idl
+++ b/dlls/oleaut32/tests/tmarshal.idl
@@ -112,13 +112,13 @@ library TestTypelib
HRESULT VariantArrayPtr([in] SAFEARRAY(VARIANT) *values);
[id(DISPID_TM_VARIANT)]
- void Variant([in] VARIANT var);
+ HRESULT Variant([in] VARIANT var);
[vararg, id(DISPID_TM_VARARG)]
- void VarArg([in] int numexpect, [in] SAFEARRAY(VARIANT) values);
+ HRESULT VarArg([in] int numexpect, [in] SAFEARRAY(VARIANT) values);
[id(DISPID_TM_STRUCTARGS)]
- void StructArgs([in] MYSTRUCT byval, [in] MYSTRUCT *byptr, [in] MYSTRUCT arr[5]);
+ HRESULT StructArgs([in] MYSTRUCT byval, [in] MYSTRUCT *byptr, [in] MYSTRUCT arr[5]);
[id(DISPID_TM_ERROR)]
HRESULT Error();
More information about the wine-cvs
mailing list