On 23 June 2017 at 15:15, Nikolay Sivov nsivov@codeweavers.com wrote:
+static HRESULT WINAPI d3drm_animation2_QueryInterface(IDirect3DRMAnimation2 *iface, REFIID riid, void **out) +{
- struct d3drm_animation *animation = impl_from_IDirect3DRMAnimation2(iface);
- TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
- if (IsEqualGUID(riid, &IID_IDirect3DRMAnimation)
|| IsEqualGUID(riid, &IID_IDirect3DRMObject)
|| IsEqualGUID(riid, &IID_IUnknown))
- {
*out = &animation->IDirect3DRMAnimation_iface;
- }
- else if (IsEqualGUID(riid, &IID_IDirect3DRMAnimation2))
- {
*out = &animation->IDirect3DRMAnimation2_iface;
- }
- else
- {
*out = NULL;
WARN("%s not implemented, returning CLASS_E_CLASSNOTAVAILABLE.\n", debugstr_guid(riid));
return CLASS_E_CLASSNOTAVAILABLE;
I suspect CLASS_E_CLASSNOTAVAILABLE is correct, since other d3drm interfaces are unusual like that as well, but it would be good to have that backed up by the tests.