[PATCH 1/5] d3dx9_36: Implement D3DXFileCreate. (try 3)

Dmitry Timoshkov dmitry at baikal.ru
Tue Oct 23 21:52:07 CDT 2012


Christian Costa <titan.costa at gmail.com> wrote:

> +static HRESULT WINAPI ID3DXFileImpl_QueryInterface(ID3DXFile *iface, REFIID riid, void **ret_iface)
> +{
> +    TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ret_iface);
> +
> +    if (IsEqualGUID(riid, &IID_IUnknown) ||
> +        IsEqualGUID(riid, &IID_ID3DXFile))
> +    {
> +        iface->lpVtbl->AddRef(iface);

Isn't there an appropriate xxx_AddRef() macro?

> +        *ret_iface = iface;
> +        return S_OK;
> +    }
> +
> +    ERR("(%p)->(%s, %p), not found\n", iface, debugstr_guid(riid), ret_iface);

FIXME seems more appropriate here.

> +    *ret_iface = NULL;
> +    return E_NOINTERFACE;
> +}

...

> +HRESULT WINAPI D3DXFileCreate(ID3DXFile **dxfile)
> +{
> +    ID3DXFileImpl *object;
> +
> +    TRACE("(%p)\n", dxfile);
> +
> +    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));

What's the reason for HEAP_ZERO_MEMORY here?

> +    if (!object)
> +    {
> +        ERR("Out of memory\n");
> +        return E_OUTOFMEMORY;
> +    }

The ERR() is useless here, just return E_OUTOFMEMORY in such situations.

-- 
Dmitry.



More information about the wine-devel mailing list