[PATCH 1/2] d3drm: Implement IDirect3DRM*::CreateObject.
Aaryaman Vasishta
jem456.vasishta at gmail.com
Mon Apr 18 08:15:49 CDT 2016
On Mon, Apr 18, 2016 at 4:17 PM, Henri Verbeet <hverbeet at gmail.com> wrote:
> On 17 April 2016 at 22:57, Aaryaman Vasishta <jem456.vasishta at gmail.com>
> wrote:
> > @@ -1054,10 +1058,50 @@ static ULONG WINAPI d3drm3_Release(IDirect3DRM3
> *iface)
> > static HRESULT WINAPI d3drm3_CreateObject(IDirect3DRM3 *iface,
> > REFCLSID clsid, IUnknown *outer, REFIID iid, void **out)
> > {
> > - FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n",
> > + void *object_struct;
> ...
> > + if (IsEqualGUID(clsid, &CLSID_CDirect3DRMTexture))
> > + {
> > + if (FAILED(hr = d3drm_texture_create((struct d3drm_texture
> **)&object_struct)))
> > + {
> > + *out = NULL;
> > + return hr;
> > + }
> > + object = (IUnknown *)&((struct d3drm_texture
> *)object_struct)->IDirect3DRMTexture3_iface;
> > + }
> Why do you need "object_struct"?
>
I need it to store the object's address, from which the IUnknown interface
is obtained which in turn is used to QI the required object using iid.
Am I missing something? Is there a better way? I suppose I could re-use
object and keep it as a void * instead of IUnknown..
Cheers,
Aaryaman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20160418/ad197aef/attachment.html>
More information about the wine-devel
mailing list