mirror of
https://github.com/reactos/wine.git
synced 2024-12-03 01:12:25 +00:00
ole32: Add a test for CoCreateInstance doing object hosting by
automatically creating an appropriate apartment for the object and returning a proxy to it.
This commit is contained in:
parent
b0efdcbdbd
commit
723aceb20f
@ -26,6 +26,7 @@
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "objbase.h"
|
||||
#include "shlguid.h"
|
||||
|
||||
#include "wine/test.h"
|
||||
|
||||
@ -59,6 +60,26 @@ static void test_CoGetPSClsid(void)
|
||||
hr);
|
||||
}
|
||||
|
||||
static void test_cocreateinstance_proxy(void)
|
||||
{
|
||||
IUnknown *pProxy;
|
||||
IMultiQI *pMQI;
|
||||
HRESULT hr;
|
||||
|
||||
pCoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||
|
||||
hr = CoCreateInstance(&CLSID_ShellDesktop, NULL, CLSCTX_INPROC, &IID_IUnknown, (void **)&pProxy);
|
||||
ok_ole_success(hr, CoCreateInstance);
|
||||
hr = IUnknown_QueryInterface(pProxy, &IID_IMultiQI, (void **)&pMQI);
|
||||
todo_wine
|
||||
ok(hr == S_OK, "created object is not a proxy, so was created in the wrong apartment\n");
|
||||
if (hr == S_OK)
|
||||
IMultiQI_Release(pMQI);
|
||||
IUnknown_Release(pProxy);
|
||||
|
||||
CoUninitialize();
|
||||
}
|
||||
|
||||
static const LARGE_INTEGER ullZero;
|
||||
static LONG cLocks;
|
||||
|
||||
@ -2214,6 +2235,8 @@ START_TEST(marshal)
|
||||
wndclass.lpszClassName = "WineCOMTest";
|
||||
RegisterClass(&wndclass);
|
||||
|
||||
test_cocreateinstance_proxy();
|
||||
|
||||
pCoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
|
||||
|
||||
/* FIXME: test CoCreateInstanceEx */
|
||||
|
Loading…
Reference in New Issue
Block a user