-----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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXh96HAAoJEN0/YqbEcdMwAicP/0sYEw43mK4ghm5H7uea/QHw 9Uv1PY2WGRPWoPPe4YXFK12ZD2E3gzSuTLPGhJruezqhOWB8Bxp0WPFX5q8IYTaf X30PjDOeRBvPh5ptHdRddXPDxGo89GhAFd+dz2lt3t5z5FdVWKyY7opjQhWS6nJF nNMbRC1di9zCuCyo/UGG/ILXxMPD9VAnH7Fahy4xWcRZFLAxJH8thPaiGbin7Nwi InWVqiUjG44BYff8roYXylu+rUIVBYdp8FHw5gowdNWAyDkMbGhHUtctlTqgPCM6 Irc+UOqmsxel2ccGlKHk1zDFjGbsNYkrLORCLeAtjaAhL+IaLgbrq+eu84DX7OQA XTO/PS0RVUwL6o+rsB6AG6Wsqq+dAHEDq0adSru4IqDrWlWBEAy6F9mYt1Qms8np Qa9J+1jo6fc7Eq35vcs0uW/Ymd+EH7qs4KHljJRsxMM/OzTOOmYIrJeBOmEo+oNq eGOGxNDa++gihpcNV7JzsfGj9Ar+vmfwyIRg8REGTisHzylIhlw22nRhmzr5k2rK mqI2M6KXlpG1lAQOSqpPKhdLLdPUwcWiRu7d+RDNadV3ypBlGgqjS6YY1mCUdynR yjK9Fabvo3RQV7bRC42rygIdYDvO8Bpj4cctejfD0Y0iuCw5VlJFbRXerjKNS3c6 Skm0afo5Ovb6y0rWLH+M =tnTR -----END PGP SIGNATURE-----