"Vincent Povirk (they/them)" vincent@codeweavers.com wrote:
+static HRESULT WINAPI IMILBitmapScaler_QueryInterface(IMILBitmapScaler *iface, REFIID iid,
- void **ppv)
+{
- BitmapScaler *This = impl_from_IMILBitmapScaler(iface);
- TRACE("(%p,%s,%p)\n", iface, debugstr_guid(iid), ppv);
- if (!ppv) return E_INVALIDARG;
- if (IsEqualIID(&IID_IUnknown, iid) ||
IsEqualIID(&IID_IMILBitmapScaler, iid) ||
IsEqualIID(&IID_IMILBitmapSource, iid))
- {
IUnknown_AddRef(&This->IMILBitmapScaler_iface);
This violates COM rules by returning a different IUnknown pointer depending on the interface queried. Does native do that?
According to the test app that I have here that's how it behaves.