Christian Costa <titan.costa(a)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.