"Vincent Povirk (they/them)" <vincent(a)codeweavers.com> wrote:
Yes. This is commonly used to test whether two interface pointers belong to the same object: query them for IUnknown and see if you get the same result.
I see, thanks for the explanation. Under Windows IWICBitmapScaler_QueryInterface and IMILBitmapScaler_QueryInterface return the same interface for IID_IUnknown, but that interface is neither IWICBitmapScaler nor IMILBitmapScaler. Same thing I observe with IWICBitmap and IMILBitmap. Probably the interface returned is some base class that forwards its methods to one of IWIC or IMIL classes. I guess that changing IMILBitmapScaler_QueryInterface to return the same interface as IWICBitmapScaler_QueryInterface does is the right thing to do. -- Dmitry.