diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c index f28fe259970..6b52de4a871 100644 --- a/dlls/dinput/dinput_main.c +++ b/dlls/dinput/dinput_main.c @@ -114,7 +114,8 @@ HRESULT WINAPI DirectInputCreateEx( TRACE("(%p,%04x,%s,%p,%p)\n", hinst, dwVersion, debugstr_guid(riid), ppDI, punkOuter); - if (IsEqualGUID( &IID_IDirectInputA, riid ) || + if (IsEqualGUID( &IID_IUnknown, riid ) || + IsEqualGUID( &IID_IDirectInputA, riid ) || IsEqualGUID( &IID_IDirectInput2A, riid ) || IsEqualGUID( &IID_IDirectInput7A, riid ) || IsEqualGUID( &IID_IDirectInputW, riid ) || @@ -817,7 +818,8 @@ static HRESULT WINAPI DICF_CreateInstance( IClassFactoryImpl *This = (IClassFactoryImpl *)iface; TRACE("(%p)->(%p,%s,%p)\n",This,pOuter,debugstr_guid(riid),ppobj); - if ( IsEqualGUID( &IID_IDirectInputA, riid ) || + if ( IsEqualGUID( &IID_IUnknown, riid ) || + IsEqualGUID( &IID_IDirectInputA, riid ) || IsEqualGUID( &IID_IDirectInputW, riid ) || IsEqualGUID( &IID_IDirectInput2A, riid ) || IsEqualGUID( &IID_IDirectInput2W, riid ) ||