Rob Shearman : ole32:
Add a test for the retrieved local class object in another thread being
a proxy .
Alexandre Julliard
julliard at wine.codeweavers.com
Tue May 8 06:59:41 CDT 2007
Module: wine
Branch: master
Commit: 71ada5c65472ce16ac5cd9bcf317bec0b49ae027
URL: http://source.winehq.org/git/wine.git/?a=commit;h=71ada5c65472ce16ac5cd9bcf317bec0b49ae027
Author: Rob Shearman <rob at codeweavers.com>
Date: Tue May 8 00:03:18 2007 +0100
ole32: Add a test for the retrieved local class object in another thread being a proxy.
---
dlls/ole32/tests/compobj.c | 27 ++++++++++++++++++++++++++-
1 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/dlls/ole32/tests/compobj.c b/dlls/ole32/tests/compobj.c
index 739dec1..12fe4f6 100644
--- a/dlls/ole32/tests/compobj.c
+++ b/dlls/ole32/tests/compobj.c
@@ -747,6 +747,31 @@ static DWORD CALLBACK get_class_object_thread(LPVOID pv)
return hr;
}
+static DWORD CALLBACK get_class_object_proxy_thread(LPVOID pv)
+{
+ CLSCTX clsctx = (CLSCTX)(DWORD_PTR)pv;
+ HRESULT hr;
+ IClassFactory *pcf;
+ IMultiQI *pMQI;
+
+ pCoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
+
+ hr = CoGetClassObject(&CLSID_WineOOPTest, clsctx, NULL, &IID_IClassFactory,
+ (void **)&pcf);
+
+ if (SUCCEEDED(hr))
+ {
+ hr = IClassFactory_QueryInterface(pcf, &IID_IMultiQI, (void **)&pMQI);
+ if (SUCCEEDED(hr))
+ IMultiQI_Release(pMQI);
+ IClassFactory_Release(pcf);
+ }
+
+ CoUninitialize();
+
+ return hr;
+}
+
static DWORD CALLBACK register_class_object_thread(LPVOID pv)
{
HRESULT hr;
@@ -821,7 +846,7 @@ static void test_registered_object_thread_affinity(void)
CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE, &cookie);
ok_ole_success(hr, "CoRegisterClassObject");
- thread = CreateThread(NULL, 0, get_class_object_thread, (LPVOID)CLSCTX_LOCAL_SERVER, 0, &tid);
+ thread = CreateThread(NULL, 0, get_class_object_proxy_thread, (LPVOID)CLSCTX_LOCAL_SERVER, 0, &tid);
ok(thread != NULL, "CreateThread failed with error %d\n", GetLastError());
while (MsgWaitForMultipleObjects(1, &thread, FALSE, INFINITE, QS_ALLINPUT) == WAIT_OBJECT_0 + 1)
{
More information about the wine-cvs
mailing list