-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2016-07-14 um 00:33 schrieb Aaryaman Vasishta:
It still returns E_NOINTERFACE. This means that CreateObject does keep track of which interface was requested within the object after all. We could probably mimic this by using a version field within the struct, which can be looked up and InitFromD3D would be handled accordingly, similar to the version field in struct d3d_device. This could potentially be used in other functions with similar behavior on different versions as well.
Don't worry too much about the InitFromD3D? corner case. Keep it in mind for debugging, but I doubt there's an application that tries to do this and depends on this thing to fail.
But yeah, you may need some sort of version tagging for future things at some point. Ddraw has something similar.