-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2015-07-01 um 01:03 schrieb Aaryaman Vasishta:
+static ULONG WINAPI d3drm_device1_AddRef(IDirect3DRMDevice *iface) +{
- struct d3drm_device *device = impl_from_IDirect3DRMDevice(iface);
- ULONG refcount = InterlockedIncrement(&device->ref);
- TRACE("%p increasing refcount to %u.\n", iface, refcount);
- return refcount;
+}
+static ULONG WINAPI d3drm_device1_Release(IDirect3DRMDevice *iface) +{
- struct d3drm_device *device = impl_from_IDirect3DRMDevice(iface);
- return IDirect3DRMDevice2_Release(&device->IDirect3DRMDevice2_iface);
+}
Why are you forwarding Release to d3drmdevice2 but not Addref?
I think we should look again at moving the IUnknown methods to Device3, so we don't thunk to the middle child and stay consistent with the other methods. Please send an extra patch before this one that migrates the code to device3. I remember we already looked at this. If this failed in some spectacular way please remind me :-) .
Is there a logic behind which method forwards to device3 and which just returns E_NOTIMPL?
Is there a logic behind which method forwards to device3 and which just
returns E_NOTIMPL?
I'm confused about it too, it's been like that since before. I guess we can do seperate patches for moving around the thunks from version 3 to version 2 (like I did for frame methods). There was a missing piece of code in this patch which I've fixed in 112636 (Didn't return version 1 device when that IID was passed).