[ros-diffs] [cwittich] 39474: sync ole32_winetest with wine 1.14

cwittich at svn.reactos.org cwittich at svn.reactos.org
Sun Feb 8 09:56:01 CET 2009


Author: cwittich
Date: Sun Feb  8 02:56:01 2009
New Revision: 39474

URL: http://svn.reactos.org/svn/reactos?rev=39474&view=rev
Log:
sync ole32_winetest with wine 1.14

Modified:
    trunk/rostests/winetests/ole32/clipboard.c
    trunk/rostests/winetests/ole32/compobj.c
    trunk/rostests/winetests/ole32/marshal.c
    trunk/rostests/winetests/ole32/moniker.c
    trunk/rostests/winetests/ole32/ole2.c
    trunk/rostests/winetests/ole32/stg_prop.c
    trunk/rostests/winetests/ole32/usrmarshal.c

Modified: trunk/rostests/winetests/ole32/clipboard.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/clipboard.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/clipboard.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/clipboard.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -68,7 +68,7 @@
 
     if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IEnumFORMATETC)) {
         IEnumFORMATETC_AddRef(iface);
-        *ppvObj = (LPVOID)This;
+        *ppvObj = This;
         return S_OK;
     }
     *ppvObj = NULL;
@@ -165,7 +165,7 @@
 
     if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDataObject)) {
         IDataObject_AddRef(iface);
-        *ppvObj = (LPVOID)This;
+        *ppvObj = This;
         return S_OK;
     }
     *ppvObj = NULL;

Modified: trunk/rostests/winetests/ole32/compobj.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/compobj.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/compobj.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/compobj.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -37,6 +37,7 @@
 /* functions that are not present on all versions of Windows */
 HRESULT (WINAPI * pCoInitializeEx)(LPVOID lpReserved, DWORD dwCoInit);
 HRESULT (WINAPI * pCoGetObjectContext)(REFIID riid, LPVOID *ppv);
+HRESULT (WINAPI * pCoSwitchCallContext)(IUnknown *pObject, IUnknown **ppOldObject);
 
 #define ok_ole_success(hr, func) ok(hr == S_OK, func " failed with error 0x%08x\n", hr)
 #define ok_more_than_one_lock() ok(cLocks > 0, "Number of locks should be > 0, but actually is %d\n", cLocks)
@@ -88,7 +89,7 @@
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IClassFactory))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IClassFactory_AddRef(iface);
         return S_OK;
     }
@@ -286,7 +287,7 @@
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IClassFactory))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IMessageFilter_AddRef(iface);
         return S_OK;
     }
@@ -397,7 +398,7 @@
     if (IsEqualIID(riid, &IID_IUnknown) ||
         IsEqualIID(riid, &IID_IWineTest))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IUnknown_AddRef(iface);
         return S_OK;
     }
@@ -512,7 +513,7 @@
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
     ok_ole_success(hr, "CreateStreamOnHGlobal");
 
-    hr = CoMarshalInterface(stream, &IID_IWineTest, (IUnknown *)&Test_Unknown, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
+    hr = CoMarshalInterface(stream, &IID_IWineTest, &Test_Unknown, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
     ok(hr == E_NOTIMPL, "CoMarshalInterface should have returned E_NOTIMPL instead of 0x%08x\n", hr);
     IStream_Release(stream);
 
@@ -938,6 +939,7 @@
     if (hr == REGDB_E_CLASSNOTREG)
     {
         trace("IE not installed so can't run CoFreeUnusedLibraries test\n");
+        CoUninitialize();
         return;
     }
     ok_ole_success(hr, "CoCreateInstance");
@@ -1039,6 +1041,106 @@
     CoUninitialize();
 }
 
+typedef struct {
+    const IUnknownVtbl *lpVtbl;
+    LONG refs;
+} Test_CallContext;
+
+static HRESULT WINAPI Test_CallContext_QueryInterface(
+    IUnknown *iface,
+    REFIID riid,
+    LPVOID *ppvObj)
+{
+    if (ppvObj == NULL) return E_POINTER;
+
+    if (IsEqualGUID(riid, &IID_IUnknown))
+    {
+        *ppvObj = iface;
+        IUnknown_AddRef(iface);
+        return S_OK;
+    }
+
+    *ppvObj = NULL;
+    return E_NOINTERFACE;
+}
+
+static ULONG WINAPI Test_CallContext_AddRef(IUnknown *iface)
+{
+    Test_CallContext *This = (Test_CallContext*)iface;
+    return InterlockedIncrement(&This->refs);
+}
+
+static ULONG WINAPI Test_CallContext_Release(IUnknown *iface)
+{
+    Test_CallContext *This = (Test_CallContext*)iface;
+    ULONG refs = InterlockedDecrement(&This->refs);
+    if (!refs)
+        HeapFree(GetProcessHeap(), 0, This);
+    return refs;
+}
+
+static const IUnknownVtbl TestCallContext_Vtbl =
+{
+    Test_CallContext_QueryInterface,
+    Test_CallContext_AddRef,
+    Test_CallContext_Release
+};
+
+static void test_CoGetCallContext(void)
+{
+    HRESULT hr;
+    ULONG refs;
+    IUnknown *pUnk;
+    IUnknown *test_object;
+
+    if (!pCoSwitchCallContext)
+    {
+        skip("CoSwitchCallContext not present\n");
+        return;
+    }
+
+    CoInitialize(NULL);
+
+    test_object = HeapAlloc(GetProcessHeap(), 0, sizeof(Test_CallContext));
+    ((Test_CallContext*)test_object)->lpVtbl = &TestCallContext_Vtbl;
+    ((Test_CallContext*)test_object)->refs = 1;
+
+    hr = CoGetCallContext(&IID_IUnknown, (void**)&pUnk);
+    ok(hr == RPC_E_CALL_COMPLETE, "Expected RPC_E_CALL_COMPLETE, got 0x%08x\n", hr);
+
+    pUnk = (IUnknown*)0xdeadbeef;
+    hr = pCoSwitchCallContext(test_object, &pUnk);
+    ok_ole_success(hr, "CoSwitchCallContext");
+    ok(pUnk == NULL, "expected NULL, got %p\n", pUnk);
+    refs = IUnknown_AddRef(test_object);
+    ok(refs == 2, "Expected refcount 2, got %d\n", refs);
+    IUnknown_Release(test_object);
+
+    pUnk = (IUnknown*)0xdeadbeef;
+    hr = CoGetCallContext(&IID_IUnknown, (void**)&pUnk);
+    ok_ole_success(hr, "CoGetCallContext");
+    ok(pUnk == test_object, "expected %p, got %p\n", test_object, pUnk);
+    refs = IUnknown_AddRef(test_object);
+    ok(refs == 3, "Expected refcount 3, got %d\n", refs);
+    IUnknown_Release(test_object);
+    IUnknown_Release(pUnk);
+
+    pUnk = (IUnknown*)0xdeadbeef;
+    hr = pCoSwitchCallContext(NULL, &pUnk);
+    ok_ole_success(hr, "CoSwitchCallContext");
+    ok(pUnk == test_object, "expected %p, got %p\n", test_object, pUnk);
+    refs = IUnknown_AddRef(test_object);
+    ok(refs == 2, "Expected refcount 2, got %d\n", refs);
+    IUnknown_Release(test_object);
+
+    hr = CoGetCallContext(&IID_IUnknown, (void**)&pUnk);
+    ok(hr == RPC_E_CALL_COMPLETE, "Expected RPC_E_CALL_COMPLETE, got 0x%08x\n", hr);
+
+    IUnknown_Release(test_object);
+
+    CoUninitialize();
+}
+
 static void test_CoInitializeEx(void)
 {
     HRESULT hr;
@@ -1064,6 +1166,7 @@
 {
     HMODULE hOle32 = GetModuleHandle("ole32");
     pCoGetObjectContext = (void*)GetProcAddress(hOle32, "CoGetObjectContext");
+    pCoSwitchCallContext = (void*)GetProcAddress(hOle32, "CoSwitchCallContext");
     if (!(pCoInitializeEx = (void*)GetProcAddress(hOle32, "CoInitializeEx")))
     {
         trace("You need DCOM95 installed to run this test\n");
@@ -1088,5 +1191,6 @@
     test_registered_object_thread_affinity();
     test_CoFreeUnusedLibraries();
     test_CoGetObjectContext();
+    test_CoGetCallContext();
     test_CoInitializeEx();
 }

Modified: trunk/rostests/winetests/ole32/marshal.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/marshal.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/marshal.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/marshal.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -114,7 +114,7 @@
 
     if (IsEqualGUID(riid, &IID_IUnknown))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IUnknown_AddRef(iface);
         return S_OK;
     }
@@ -157,7 +157,7 @@
         /* the only other interface Wine is currently able to marshal (for testing two proxies) */
         IsEqualGUID(riid, &IID_IRemUnknown))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IClassFactory_AddRef(iface);
         return S_OK;
     }
@@ -220,7 +220,7 @@
 
 static DWORD CALLBACK host_object_proc(LPVOID p)
 {
-    struct host_object_data *data = (struct host_object_data *)p;
+    struct host_object_data *data = p;
     HRESULT hr;
     MSG msg;
 
@@ -833,7 +833,7 @@
 /* helper for test_no_couninitialize_server */
 static DWORD CALLBACK no_couninitialize_server_proc(LPVOID p)
 {
-    struct ncu_params *ncu_params = (struct ncu_params *)p;
+    struct ncu_params *ncu_params = p;
     HRESULT hr;
 
     pCoInitializeEx(NULL, COINIT_MULTITHREADED);
@@ -899,7 +899,7 @@
 /* STA -> STA call during DLL_THREAD_DETACH */
 static DWORD CALLBACK no_couninitialize_client_proc(LPVOID p)
 {
-    struct ncu_params *ncu_params = (struct ncu_params *)p;
+    struct ncu_params *ncu_params = p;
     HRESULT hr;
     IUnknown *pProxy = NULL;
 
@@ -1370,7 +1370,7 @@
 /* helper for test_proxy_used_in_wrong_thread */
 static DWORD CALLBACK bad_thread_proc(LPVOID p)
 {
-    IClassFactory * cf = (IClassFactory *)p;
+    IClassFactory * cf = p;
     HRESULT hr;
     IUnknown * proxy = NULL;
 
@@ -1447,7 +1447,7 @@
     IClassFactory_QueryInterface(pProxy, &IID_IStream, (LPVOID *)&pStream);
 
     /* create a thread that we can misbehave in */
-    thread = CreateThread(NULL, 0, bad_thread_proc, (LPVOID)pProxy, 0, &tid2);
+    thread = CreateThread(NULL, 0, bad_thread_proc, pProxy, 0, &tid2);
 
     WaitForSingleObject(thread, INFINITE);
     CloseHandle(thread);
@@ -1468,7 +1468,7 @@
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IClassFactory))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IClassFactory_AddRef(iface);
         return S_OK;
     }
@@ -1679,7 +1679,7 @@
     if (IsEqualIID(riid, &IID_IUnknown))
     {
         IUnknown_AddRef(iface);
-        *ppv = (LPVOID)iface;
+        *ppv = iface;
         return S_OK;
     }
     *ppv = NULL;
@@ -2040,6 +2040,19 @@
     }
 }
 
+static SIZE_T round_heap_size(SIZE_T size)
+{
+    static SIZE_T heap_size_alignment = -1;
+    if (heap_size_alignment == -1)
+    {
+        void *p = HeapAlloc(GetProcessHeap(), 0, 1);
+        heap_size_alignment = HeapSize(GetProcessHeap(), 0, p);
+        HeapFree(GetProcessHeap(), 0, p);
+    }
+
+    return ((size + heap_size_alignment - 1) & ~(heap_size_alignment - 1));
+}
+
 static void test_freethreadedmarshaldata(IStream *pStream, MSHCTX mshctx, void *ptr, DWORD mshlflags)
 {
     HGLOBAL hglobal;
@@ -2056,7 +2069,7 @@
 
     if (mshctx == MSHCTX_INPROC)
     {
-        DWORD expected_size = 3*sizeof(DWORD) + sizeof(GUID);
+        DWORD expected_size = round_heap_size(3*sizeof(DWORD) + sizeof(GUID));
         ok(size == expected_size, "size should have been %d instead of %d\n", expected_size, size);
 
         ok(*(DWORD *)marshal_data == mshlflags, "expected 0x%x, but got 0x%x for mshctx\n", mshlflags, *(DWORD *)marshal_data);
@@ -2105,7 +2118,7 @@
     /* inproc normal marshaling */
 
     hr = IMarshal_MarshalInterface(pFTMarshal, pStream, &IID_IClassFactory,
-        (IUnknown*)&Test_ClassFactory, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
+        &Test_ClassFactory, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
     ok_ole_success(hr, IMarshal_MarshalInterface);
 
     ok_more_than_one_lock();
@@ -2127,7 +2140,7 @@
     /* local normal marshaling */
 
     IStream_Seek(pStream, llZero, STREAM_SEEK_SET, NULL);
-    hr = IMarshal_MarshalInterface(pFTMarshal, pStream, &IID_IClassFactory, (IUnknown*)&Test_ClassFactory, MSHCTX_LOCAL, NULL, MSHLFLAGS_NORMAL);
+    hr = IMarshal_MarshalInterface(pFTMarshal, pStream, &IID_IClassFactory, &Test_ClassFactory, MSHCTX_LOCAL, NULL, MSHLFLAGS_NORMAL);
     ok_ole_success(hr, IMarshal_MarshalInterface);
 
     ok_more_than_one_lock();
@@ -2193,7 +2206,7 @@
 
     IStream_Seek(pStream, llZero, STREAM_SEEK_SET, NULL);
     hr = IMarshal_MarshalInterface(pFTMarshal, pStream, &IID_IClassFactory,
-        (IUnknown*)&Test_ClassFactory, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
+        &Test_ClassFactory, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL);
     ok_ole_success(hr, IMarshal_MarshalInterface);
 
     ok_more_than_one_lock();
@@ -2222,11 +2235,9 @@
     IMarshal_Release(pFTMarshal);
 }
 
-static void test_inproc_handler(void)
-{
-    HRESULT hr;
-    IUnknown *pObject;
-    IUnknown *pObject2;
+static void reg_unreg_wine_test_class(BOOL Register)
+{
+    HRESULT hr;
     char buffer[256];
     LPOLESTR pszClsid;
     HKEY hkey;
@@ -2239,11 +2250,29 @@
     WideCharToMultiByte(CP_ACP, 0, pszClsid, -1, buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), NULL, NULL);
     CoTaskMemFree(pszClsid);
     strcat(buffer, "\\InprocHandler32");
-    error = RegCreateKeyEx(HKEY_CLASSES_ROOT, buffer, 0, NULL, 0, KEY_SET_VALUE, NULL, &hkey, &dwDisposition);
-    ok(error == ERROR_SUCCESS, "RegCreateKeyEx failed with error %d\n", error);
-    error = RegSetValueEx(hkey, NULL, 0, REG_SZ, (const unsigned char *)"ole32.dll", strlen("ole32.dll") + 1);
-    ok(error == ERROR_SUCCESS, "RegSetValueEx failed with error %d\n", error);
-    RegCloseKey(hkey);
+    if (Register)
+    {
+        error = RegCreateKeyEx(HKEY_CLASSES_ROOT, buffer, 0, NULL, 0, KEY_SET_VALUE, NULL, &hkey, &dwDisposition);
+        ok(error == ERROR_SUCCESS, "RegCreateKeyEx failed with error %d\n", error);
+        error = RegSetValueEx(hkey, NULL, 0, REG_SZ, (const unsigned char *)"ole32.dll", strlen("ole32.dll") + 1);
+        ok(error == ERROR_SUCCESS, "RegSetValueEx failed with error %d\n", error);
+        RegCloseKey(hkey);
+    }
+    else
+    {
+        RegDeleteKey(HKEY_CLASSES_ROOT, buffer);
+        *strrchr(buffer, '\\') = '\0';
+        RegDeleteKey(HKEY_CLASSES_ROOT, buffer);
+    }
+}
+
+static void test_inproc_handler(void)
+{
+    HRESULT hr;
+    IUnknown *pObject;
+    IUnknown *pObject2;
+
+    reg_unreg_wine_test_class(TRUE);
 
     hr = CoCreateInstance(&CLSID_WineTest, NULL, CLSCTX_INPROC_HANDLER, &IID_IUnknown, (void **)&pObject);
     todo_wine
@@ -2262,9 +2291,7 @@
         IUnknown_Release(pObject);
     }
 
-    RegDeleteKey(HKEY_CLASSES_ROOT, buffer);
-    *strrchr(buffer, '\\') = '\0';
-    RegDeleteKey(HKEY_CLASSES_ROOT, buffer);
+    reg_unreg_wine_test_class(FALSE);
 }
 
 static HRESULT WINAPI Test_SMI_QueryInterface(
@@ -2277,7 +2304,7 @@
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IStdMarshalInfo))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IClassFactory_AddRef(iface);
         return S_OK;
     }
@@ -2327,6 +2354,7 @@
     HANDLE thread;
     static const LARGE_INTEGER ullZero;
 
+    reg_unreg_wine_test_class(TRUE);
     cLocks = 0;
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &pStream);
@@ -2359,6 +2387,7 @@
     }
 
     end_host_object(tid, thread);
+    reg_unreg_wine_test_class(FALSE);
 
     /* FIXME: test IPersist interface has the same effect as IStdMarshalInfo */
 }
@@ -2437,7 +2466,7 @@
 
     CoTaskMemFree(pServerPrincName);
 
-    hr = IClientSecurity_QueryBlanket(pCliSec, (IUnknown *)pUnknown1, &dwAuthnSvc, &dwAuthzSvc, &pServerPrincName, &dwAuthnLevel, &dwImpLevel, &pAuthInfo, &dwCapabilities);
+    hr = IClientSecurity_QueryBlanket(pCliSec, pUnknown1, &dwAuthnSvc, &dwAuthzSvc, &pServerPrincName, &dwAuthnLevel, &dwImpLevel, &pAuthInfo, &dwCapabilities);
     todo_wine ok_ole_success(hr, "IClientSecurity_QueryBlanket(IUnknown)");
 
     CoTaskMemFree(pServerPrincName);
@@ -2479,7 +2508,7 @@
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IClassFactory))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IClassFactory_AddRef(iface);
         return S_OK;
     }
@@ -2694,14 +2723,17 @@
 static DWORD CALLBACK get_global_interface_proc(LPVOID pv)
 {
 	HRESULT hr;
-	struct git_params *params = (struct git_params *)pv;
+	struct git_params *params = pv;
 	IClassFactory *cf;
 
 	hr = IGlobalInterfaceTable_GetInterfaceFromGlobal(params->git, params->cookie, &IID_IClassFactory, (void **)&cf);
 	ok(hr == CO_E_NOTINITIALIZED ||
-		hr == E_UNEXPECTED, /* win2k */
+		broken(hr == E_UNEXPECTED) /* win2k */ ||
+		broken(hr == S_OK) /* NT 4 */,
 		"IGlobalInterfaceTable_GetInterfaceFromGlobal should have failed with error CO_E_NOTINITIALIZED or E_UNEXPECTED instead of 0x%08x\n",
 		hr);
+	if (hr == S_OK)
+		IClassFactory_Release(cf);
 
 	CoInitialize(NULL);
 

Modified: trunk/rostests/winetests/ole32/moniker.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/moniker.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/moniker.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/moniker.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -82,6 +82,19 @@
     InterlockedDecrement(&cLocks);
 }
 
+static SIZE_T round_heap_size(SIZE_T size)
+{
+    static SIZE_T heap_size_alignment = -1;
+    if (heap_size_alignment == -1)
+    {
+        void *p = HeapAlloc(GetProcessHeap(), 0, 1);
+        heap_size_alignment = HeapSize(GetProcessHeap(), 0, p);
+        HeapFree(GetProcessHeap(), 0, p);
+    }
+
+    return ((size + heap_size_alignment - 1) & ~(heap_size_alignment - 1));
+}
+
 static HRESULT WINAPI Test_IClassFactory_QueryInterface(
     LPCLASSFACTORY iface,
     REFIID riid,
@@ -92,7 +105,7 @@
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IClassFactory))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IClassFactory_AddRef(iface);
         return S_OK;
     }
@@ -151,7 +164,7 @@
     if (IsEqualIID(riid, &IID_IUnknown))
     {
         IUnknown_AddRef(iface);
-        *ppv = (LPVOID)iface;
+        *ppv = iface;
         return S_OK;
     }
     *ppv = NULL;
@@ -1204,12 +1217,12 @@
     moniker_data = GlobalLock(hglobal);
 
     /* first check we have the right amount of data */
-    ok(moniker_size == sizeof_expected_moniker_saved_data,
+    ok(moniker_size == round_heap_size(sizeof_expected_moniker_saved_data),
         "%s: Size of saved data differs (expected %d, actual %d)\n",
-        testname, sizeof_expected_moniker_saved_data, moniker_size);
+        testname, (DWORD)round_heap_size(sizeof_expected_moniker_saved_data), moniker_size);
 
     /* then do a byte-by-byte comparison */
-    for (i = 0; i < min(moniker_size, sizeof_expected_moniker_saved_data); i++)
+    for (i = 0; i < min(moniker_size, round_heap_size(sizeof_expected_moniker_saved_data)); i++)
     {
         if (expected_moniker_saved_data[i] != moniker_data[i])
         {
@@ -1250,14 +1263,14 @@
     moniker_data = GlobalLock(hglobal);
 
     /* first check we have the right amount of data */
-    ok(moniker_size == sizeof_expected_moniker_marshal_data,
+    ok(moniker_size == round_heap_size(sizeof_expected_moniker_marshal_data),
         "%s: Size of marshaled data differs (expected %d, actual %d)\n",
-        testname, sizeof_expected_moniker_marshal_data, moniker_size);
+        testname, (DWORD)round_heap_size(sizeof_expected_moniker_marshal_data), moniker_size);
 
     /* then do a byte-by-byte comparison */
     if (expected_moniker_marshal_data)
     {
-        for (i = 0; i < min(moniker_size, sizeof_expected_moniker_marshal_data); i++)
+        for (i = 0; i < min(moniker_size, round_heap_size(sizeof_expected_moniker_marshal_data)); i++)
         {
             if (expected_moniker_marshal_data[i] != moniker_data[i])
             {

Modified: trunk/rostests/winetests/ole32/ole2.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/ole2.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/ole2.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/ole2.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -68,7 +68,7 @@
     *ppv = NULL;
 
     if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IOleObject))
-        *ppv = (void *)iface;
+        *ppv = iface;
     else if (IsEqualIID(riid, &IID_IPersistStorage))
         *ppv = &OleObjectPersistStg;
     else if (IsEqualIID(riid, &IID_IOleCache))
@@ -1497,7 +1497,7 @@
         NULL
     };
 
-    IOleObject *object = (IOleObject *)&OleObject;
+    IOleObject *object = &OleObject;
 
     expected_method_list = methods_query_runnable;
     ok(OleIsRunning(object), "Object should be running\n");

Modified: trunk/rostests/winetests/ole32/stg_prop.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/stg_prop.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/stg_prop.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/stg_prop.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -100,7 +100,7 @@
 
     /* test setting one by name with an invalid propidNameFirst */
     spec.ulKind = PRSPEC_LPWSTR;
-    U(spec).lpwstr = (LPOLESTR)propName;
+    U(spec).lpwstr = propName;
     hr = IPropertyStorage_WriteMultiple(propertyStorage, 1, &spec, &var,
      PID_DICTIONARY);
     ok(hr == STG_E_INVALIDPARAMETER,
@@ -123,7 +123,7 @@
 
     /* set one by name */
     spec.ulKind = PRSPEC_LPWSTR;
-    U(spec).lpwstr = (LPOLESTR)propName;
+    U(spec).lpwstr = propName;
     U(var).lVal = 2;
     hr = IPropertyStorage_WriteMultiple(propertyStorage, 1, &spec, &var,
      PID_FIRST_USABLE);
@@ -164,7 +164,7 @@
      var.vt, U(var).lVal);
     /* read by name */
     spec.ulKind = PRSPEC_LPWSTR;
-    U(spec).lpwstr = (LPOLESTR)propName;
+    U(spec).lpwstr = propName;
     hr = IPropertyStorage_ReadMultiple(propertyStorage, 1, &spec, &var);
     ok(hr == S_OK, "ReadMultiple failed: 0x%08x\n", hr);
     ok(var.vt == VT_I4 && U(var).lVal == 2,
@@ -237,7 +237,7 @@
     ok(hr == S_OK, "Commit failed: 0x%08x\n", hr);
     /* set it to a string value */
     var.vt = VT_LPSTR;
-    U(var).pszVal = (LPSTR)val;
+    U(var).pszVal = val;
     hr = IPropertyStorage_WriteMultiple(propertyStorage, 1, &spec, &var, 0);
     ok(hr == S_OK, "WriteMultiple failed: 0x%08x\n", hr);
     /* revert it */
@@ -269,7 +269,7 @@
 
     /* check properties again */
     spec.ulKind = PRSPEC_LPWSTR;
-    U(spec).lpwstr = (LPOLESTR)propName;
+    U(spec).lpwstr = propName;
     hr = IPropertyStorage_ReadMultiple(propertyStorage, 1, &spec, &var);
     ok(hr == S_OK, "ReadMultiple failed: 0x%08x\n", hr);
     ok(var.vt == VT_I4 && U(var).lVal == 2,

Modified: trunk/rostests/winetests/ole32/usrmarshal.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/ole32/usrmarshal.c?rev=39474&r1=39473&r2=39474&view=diff
==============================================================================
--- trunk/rostests/winetests/ole32/usrmarshal.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/ole32/usrmarshal.c [iso-8859-1] Sun Feb  8 02:56:01 2009
@@ -386,7 +386,7 @@
 
     if (IsEqualGUID(riid, &IID_IUnknown))
     {
-        *ppvObj = (LPVOID)iface;
+        *ppvObj = iface;
         IUnknown_AddRef(iface);
         return S_OK;
     }



More information about the Ros-diffs mailing list