[WINESYNC] msi/tests: Improve COM test.

Test for a class that Wine actually supports, and also make sure our
apartment is uninitialized.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdb9bdc88b27ffdaea5ad31256f250b66bdf6b78 by Zebediah Figura <z.figura12@gmail.com>
This commit is contained in:
winesync 2022-03-12 15:11:51 +01:00 committed by Mark Jansen
parent 18123440c0
commit cd631b7912
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B

View file

@ -24,8 +24,7 @@
#include <windef.h>
#include <winbase.h>
#define COBJMACROS
#include <objbase.h>
#include <unknwn.h>
#include <msxml.h>
#include <msi.h>
#include <msiquery.h>
@ -248,14 +247,19 @@ UINT WINAPI main_test(MSIHANDLE hinst)
{
UINT res;
IUnknown *unk = NULL;
HRESULT hres;
HRESULT hr;
/* Test for an MTA apartment */
hres = CoCreateInstance(&CLSID_Picture_Metafile, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk);
todo_wine_ok(hinst, hres == S_OK, "CoCreateInstance failed with %08x\n", hres);
hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk);
todo_wine_ok(hinst, hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
if (unk) IUnknown_Release(unk);
/* but ours is uninitialized */
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
ok(hinst, hr == S_OK, "got %#x\n", hr);
CoUninitialize();
/* Test MsiGetDatabaseState() */
res = MsiGetDatabaseState(hinst);
todo_wine_ok(hinst, res == MSIDBSTATE_ERROR, "expected MSIDBSTATE_ERROR, got %u\n", res);