mirror of
git://source.winehq.org/git/wine.git
synced 2024-07-21 20:34:10 +00:00
dmscript/tests: Just use proper IUnknown implementations for aggregation.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
47df3778aa
commit
89ef7b59f5
|
@ -88,11 +88,7 @@ static void test_COM(void)
|
||||||
ULONG refcount;
|
ULONG refcount;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
/* COM aggregation */
|
/* COM aggregation. An invalid non-NULL outer IUnknown crashes newer Windows versions */
|
||||||
hr = CoCreateInstance(&CLSID_DirectMusicScript, (IUnknown*)&dms, CLSCTX_INPROC_SERVER,
|
|
||||||
&IID_IUnknown, (void**)&dms);
|
|
||||||
todo_wine ok(hr == E_POINTER, "DirectMusicScript create failed: %08x, expected E_POINTER\n", hr);
|
|
||||||
/* An invalid non-NULL pUnkOuter crashes newer Windows versions */
|
|
||||||
hr = CoCreateInstance(&CLSID_DirectMusicScript, &unk_obj.IUnknown_iface, CLSCTX_INPROC_SERVER,
|
hr = CoCreateInstance(&CLSID_DirectMusicScript, &unk_obj.IUnknown_iface, CLSCTX_INPROC_SERVER,
|
||||||
&IID_IUnknown, (void**)&unk_obj.inner_unk);
|
&IID_IUnknown, (void**)&unk_obj.inner_unk);
|
||||||
ok(hr == CLASS_E_NOAGGREGATION,
|
ok(hr == CLASS_E_NOAGGREGATION,
|
||||||
|
@ -137,15 +133,16 @@ static void test_COM_scripttrack(void)
|
||||||
IDirectMusicTrack *dmt;
|
IDirectMusicTrack *dmt;
|
||||||
IPersistStream *ps;
|
IPersistStream *ps;
|
||||||
IUnknown *unk;
|
IUnknown *unk;
|
||||||
|
struct unk_impl unk_obj = {{&unk_vtbl}, 19, NULL};
|
||||||
ULONG refcount;
|
ULONG refcount;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
/* COM aggregation */
|
/* COM aggregation. An invalid non-NULL outer IUnknown crashes newer Windows versions */
|
||||||
hr = CoCreateInstance(&CLSID_DirectMusicScriptTrack, (IUnknown*)&dmt, CLSCTX_INPROC_SERVER,
|
hr = CoCreateInstance(&CLSID_DirectMusicScriptTrack, &unk_obj.IUnknown_iface,
|
||||||
&IID_IUnknown, (void**)&dmt);
|
CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&unk_obj.inner_unk);
|
||||||
ok(hr == CLASS_E_NOAGGREGATION,
|
ok(hr == CLASS_E_NOAGGREGATION,
|
||||||
"DirectMusicScriptTrack create failed: %08x, expected CLASS_E_NOAGGREGATION\n", hr);
|
"DirectMusicScriptTrack create failed: %08x, expected CLASS_E_NOAGGREGATION\n", hr);
|
||||||
ok(!dmt, "dmt = %p\n", dmt);
|
ok(!unk_obj.inner_unk, "unk_obj.inner_unk = %p\n", unk_obj.inner_unk);
|
||||||
|
|
||||||
/* Invalid RIID */
|
/* Invalid RIID */
|
||||||
hr = CoCreateInstance(&CLSID_DirectMusicScriptTrack, NULL, CLSCTX_INPROC_SERVER,
|
hr = CoCreateInstance(&CLSID_DirectMusicScriptTrack, NULL, CLSCTX_INPROC_SERVER,
|
||||||
|
|
Loading…
Reference in a new issue