Christian Costa titan.costa@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.