How about this?
if (IsEqualGUID(clsid, &CLSID_CDirect3DRMTexture))
{ struct d3drm_texture *texture; if (FAILED(hr = d3drm_texture_create(&texture)) { *out = NULL; return hr; } object = texture->IDirect3DRMTexture3_iface; }
What do you think? I'm not sure if declaring variables like that is allowed, but it has been used in similar cases elsewhere so I guess it should be fine.
On Mon, Apr 18, 2016 at 9:29 PM, Henri Verbeet hverbeet@gmail.com wrote:
On 18 April 2016 at 17:45, Aaryaman Vasishta jem456.vasishta@gmail.com wrote:
I thought it'd be a good idea to keep it void * for once future objects would be implemented (i.e. the one's that have todo marked as true in the tests).
That can't work in a sane way. You need a specific type because you need to dereference the pointer to get at the interface. I.e., notice how you're casting "object_struct" in every place where you use it.